我试图从维基百科获取一些内容作为
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
我得到预期的内容.怎么了?
解决方法
您需要通过添加& callback =?来触发具有
$.getJSON()
的JSONP行为?在querystring上,像这样:
$.getJSON("http://en.wikipedia.org/w/api.PHP?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?",function(data) { doSomethingWith(data); });
You can test it here.
没有使用JSONP,你正在击中same-origin policy,阻止XmlHttpRequest获取任何数据.