【发布时间】:2010-12-09 03:52:28
【问题描述】:
jQuery documentation 列出了以下使用 $.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() 从未被调用。我错过了什么吗?
感谢您的帮助!
【问题讨论】:
标签: javascript jquery ajax callback jsonp