我正在尝试使用带有 jQuery 的 ajax 方法的 JSONP 从服务器获取数据。
$.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。这用于 Firefox 插件。
您可以在此处阅读完整代码:https
://builder.addons.mozilla.org/addon/1048275/revision/749
我在 common-content.js 的 getEncryptedMessage 函数中使用 $.ajax
提前致谢。