我正在尝试使用google ajax搜索进行图片搜索 我正在使用jQuery。 所以低于我的代码
$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello', function(data) {
console.log(data);
});
控制台打印为NULL 我的xhr信息是
request URL:http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello
Request Headers
Accept:application/json, text/javascript, */*
Cache-Control:max-age=0
Origin:http://example.local
Referer:http://example.local/thread/create
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4
我不确定是什么。 帮帮我PLZ
答案 0 :(得分:8)
您的网址需要稍加调整才能触发JSONP,最后添加&callback=?
,如下所示:
$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello&callback=?', function(data) {
console.log(data);
});
You can see it working here,看看控制台。
如果jQuery在url中看到callback=?
,它会用它生成的函数名称(这是你的function(data)
回调)替换它,这就是当JSONP请求返回时运行的内容。有关相同信息,请参阅the $.getJSON()
documentation。
如果没有这个,它会尝试执行XmlHttpRequest,并被the same-origin policy阻止,因为它在另一个域上。