我试图让我与谷歌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

有帮助吗?

解决方案

您URL需要一个轻微的调整,以触发JSONP,添加&callback=?在端,如下所示:

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello&callback=?', function(data) {
  console.log(data);
});

你可以看到这里工作,看看控制台。

如果jQuery的看到了callback=?在URL,它会生成一个函数名(这是你的function(data)回调)替换它,当JSONP请求回来,这就是被运行。请参见对同一信息的$.getJSON()文档

如果没有这个它试图做一个的XmlHttpRequest,和被拦截的的同源策略的,因为它是在另一个域。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top