jQuery 文档列出了以下使用 $.getJSON 请求 JSONP 的示例:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data) {
$.each(data.items, function(i,item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if (i == 3) return false;
});
});
而不是使用这个方法,因为这个参数会生成一个动态回调函数名:
jsoncallback=?
我希望能够提前将其设置为硬编码的函数名称,如下所示:
jsoncallback=test
这是有效的,因为我运行脚本并且我返回的 JSONP 将 JSON 对象包装在对 test() 的调用中。
但是,我不知道如何设置回调函数。不应该这么简单吗?
function test(data) {
console.log(data);
}
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=test");
当我尝试这样做时,我得到了包装在 test() 中的 JSONP,但是我定义的函数 test() 从未被调用。我错过了什么吗?
谢谢你的帮助!