不能调试挂起$.Post在firefox扩展

can't debug hanging $.post in firefox extension

本文关键字:firefox 扩展 Post 调试 挂起 不能      更新时间:2023-09-26

我正在开发这个扩展https://builder.addons.mozilla.org/addon/1022928/latest/

这个问题的核心代码在Data/panel.js

它工作得很好,除了每当我点击"Gem"来发布jquery调用时,它只是挂在加载图标上,我没有得到控制台的任何反馈,为什么调用没有通过并被处理,因为它应该。

那么我如何用新的firefox插件sdk构建器测试版调试它呢?我试过写console.log(),我已经读到,它应该为别人工作,但我真的看不到我的任何日志消息,只是错误是同步的代码,因此不是ajax错误。

回到我的问题:我如何调试一个挂ajax调用在我的firefox扩展的面板?

HTTPFox扩展显示您的请求已成功发送,结果是500 Internal Error响应。所以jQuery会调用一个错误回调——但是你没有给它任何(参见jQuery.post()文档,第三个参数是success回调)。要定义一个错误回调,最好直接使用jQuery.ajax()方法:

$.ajax({
  type: "POST"
  url: url,
  data {title:$("#txtTitle").val(), url:encodeURIComponent(taburl)},
  success: function(data, textStatus) {
    ...
  },
  error: function(data, textStatus) {
    ...
  }
});

或者您可以使用Add-on SDK的request包,它提供了类似的API。

总结一下:你没有看到错误消息,因为没有错误。在错误的情况下,你应该期待一个异常,如果没有被捕获,它将在错误控制台中可见。