“(回调方法)未定义”在 Firefox 插件上的 JSONP 访问中
"(Callback method) is not defined" in JSONP access on Firefox Addon
我正在尝试使用JSONP和jQuery的ajax方法从服务器获取数据。
$.ajax({
dataType: "jsonp",
url: "https://secure.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json",
type: "GET",
data: "msg=aaa",
cache: true,
jsonp: "jsoncallback",
// jsonpCallback: "callbackmethod",
success: function(encryptedMsg){
console.log("Encryption success!");
},
error: function(req, errmsg, thrownError) {
console.log("Error: HTTP " + req.status + " " + errmsg);
}
});
但是,错误控制台中显示以下错误:
Error: jQuery1720502636097747291_1339479763752 is not defined
Source File: https://secure.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=jQuery1720502636097747291_1339479763752&msg=aaa
Line: 1
如果打开源文件 URL,可以看到以下 JSON,并且似乎是正确的 JSON。
jQuery1720502636097747291_1339479763752({
"title": "Recent Uploads tagged cat",
// ...
"items": [
{
"title": "Chaton",
// ...
},
// ...
]
})
我还尝试使用 jsonpCallback 指定方法名称:"callbackmethod",但它不起作用。我还使用了$.getJson()方法和jquery-jsonp(http://code.google.com/p/jquery-jsonp/),但结果是一样的。
浏览器是Firefox并使用HTML4。这在火狐插件中使用。
您可以在此处阅读完整代码:https://builder.addons.mozilla.org/addon/1048275/revision/749
我在公共内容中的getEncryptedMessage函数中使用$.ajax.js
提前谢谢。
不要在 Firefox 扩展中使用 JSONP。如果它有效,这将是一个安全问题,因为它允许某些 Web 服务器在扩展的上下文中运行代码。但是,在您的情况下,它不起作用,因为内容脚本不直接访问网页。JSONP 脚本在网页的上下文中运行,并且看不到内容脚本定义的函数。
您应该使用 request
模块向任何 Web 服务器发出请求,它支持 JSON 格式。当然,您不能从内容脚本使用它,但您可以将消息发送回扩展,然后扩展应该发出请求并将服务器响应发送回内容脚本。请参阅有关与内容脚本通信的文档。
相关文章:
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- jQuery插件-从插件中调用公共方法
- 压缩phonegap中ios的图像插件
- jQuery粘性插件可变顶部间距
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 高亮显示与数组字符串一起使用时文本插件中断
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Wordpress插件根据需要加载js和css
- “(回调方法)未定义”在 Firefox 插件上的 JSONP 访问中
- 使用requireJS async插件和requireJS jsonp格式有区别吗?