我们正试图使用jquery的getJSON()方法点击meetup.com api并遇到一些问题。 在萤火虫中我们可以运行
$.getJSON(
'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey',
function(data) { console.log(data) }
);
我们可以看到通话需要一些时间。我们可以检查响应头并查看内容大小是42K,但内容正文(如firebug所示)是空的!这怎么可能?
当我们指向浏览器中的url时,我们会在页面上显示所有相应的json格式文本。
我们缺少什么?
PS。我们尝试了$ .ajax和$ .get - 每个都有相同的结果。我们还尝试了3个参数,其中第一个是url,第二个是null,第三个是回调。
答案 0 :(得分:5)
确保您在要点击的网址的查询字符串中有callback=?
...因为它是一个远程域,您需要在这里使用JSONP(callback=?
个触发器) 。像这样:
$.getJSON(
'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey&callback=?',
function(data) { console.log(data); }
);
来自$.getJSON()
文档:
如果URL在URL中包含字符串
"callback=?"
,则该请求将被视为JSONP。有关详细信息,请参阅$.ajax()中jsonp
数据类型的讨论。