我需要使用twitter api请求使用jquery进行twitter搜索。阅读文档后,我编写以下代码:
$.getJSON("http://search.twitter.com/search.json?callback=myFunction&q=stackoverflow"); function myFunction(r) { console.log(r); }
search.json无法加载资源>执行页面时,Google Chrome在控制台上显示此错误:
XMLHttpRequest无法加载 http://search.twitter.com/search.json?callback=myFunction&q=stackoverflow。Access- Control-Allow-Origin不允许来源http:// localhost / twitter。search.json无法加载资源
问题是什么?
您需要像下面这样写一些不同:
$.getJSON("http://search.twitter.com/search.json?callback=?&q=stackoverflow", function (r) { console.log(r); });
要触发JSONP,它需要 明确 查找callback=?,这不在您的命名函数版本中。要使用命名的回调,最好使用$.ajax()完整版本:
callback=?
$.ajax()
$.ajax({ url: "http://search.twitter.com/search.json?q=stackoverflow", dataType: "jsonp", jsonpCallback: "myFunction" }); function myFunction(r) { console.log(r); }