一尘不染

使用jQuery的MediaWiki API没有响应

json

我试图从Wikipedia中获取一些内容作为JSON:

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json", function(data) {
    doSomethingWith(data);
});

但是我没有任何回应。如果我粘贴到浏览器的地址栏,类似

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles=jQuery&format=json

我得到了预期的内容。怎么了?


阅读 214

收藏
2020-07-27

共1个答案

一尘不染

您需要$.getJSON()通过添加&callback=?查询字符串来触发JSONP行为,如下所示:

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?", function(data) {
    doSomethingWith(data);
});

您可以在这里进行测试

如果不使用JSONP,您将遇到同源策略,该策略阻止XmlHttpRequest取回任何数据。

2020-07-27