我需要使用twitter api请求使用jQuery的twitter搜索。看完
documentation后,我写这段代码:
$.getJSON("http://search.twitter.com/search.json?callback=myFunction&q=stackoverflow"); function myFunction(r) { console.log(r); }
search.json无法加载资源>当页面执行时,Google Chrome会在控制台上显示此错误:
XMLHttpRequest cannot load
07001.
Origin 07002 is not
allowed by
Access-Control-Allow-Origin.
search.json Failed to load resource
问题是什么?
解决方法
你需要写一点点,就像这样:
$.getJSON("http://search.twitter.com/search.json?callback=?&q=stackoverflow",function (r) { console.log(r); });
要触发JSONP,它正在寻找明确的callback =?,它不在你的命名函数版本中。要使用命名回调,您最好使用$.ajax()
完整版:
$.ajax({ url: "http://search.twitter.com/search.json?q=stackoverflow",dataType: "jsonp",jsonpCallback: "myFunction" }); function myFunction(r) { console.log(r); }