不能调试挂起$.Post在firefox扩展
can't debug hanging $.post in firefox extension
我正在开发这个扩展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。
总结一下:你没有看到错误消息,因为没有错误。在错误的情况下,你应该期待一个异常,如果没有被捕获,它将在错误控制台中可见。
相关文章:
- 您可以使用JavaScript和Firefox扩展来更改现有页面吗
- 如何在谷歌开发者控制台上为firefox扩展创建oAuth项目
- 无法在XUL Firefox扩展中获取TinyMCE的实例
- FireFox扩展对TinyMCE编辑器执行脚本注入
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- firefox扩展/如何访问动态创建的元素
- 将jquery添加到firefox扩展中
- 替换 nsICertificateDialogs 从 Firefox 扩展
- 在firefox扩展上观察并保存http请求
- Firefox扩展页面modonAtttach很慢
- 为什么我的firefox扩展javascript不能访问opener窗口,也看不到window.name
- Firefox扩展不适用于http://https://以外的URL
- 为什么我的 init() 函数没有运行?(安装 Firefox 扩展时自动添加工具栏按钮,但仅在首次运行时)
- 如何在 Firefox 扩展的 JavaScript 中的按钮背景中插入图像
- 开发Firefox扩展最简单的方法是什么
- 如何在mozilla firefox扩展中更改自定义工具栏按钮的颜色
- firefox扩展对$.ajax的调用不起作用
- 使用firefox扩展获取SSL信息
- 自动运行firefox扩展jpm
- 如何引用Firefox扩展的数据目录中的文件