无法使用jQuery getJSON从其API加载Google图片

时间:2010-11-11 10:09:04

标签: api jquery getjson

我的代码如下:

$.getJSON('https://ajax.googleapis.com/ajax/services/search/images?q=Google&v=1.0', 
function(json) {
  alert(json);
})​

您可以在此处试用此代码:http://jsbin.com/ofaru3/edit

ajax是错误

imagesFailed加载资源

我如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:6)

你需要在那里的&callback=?触发JSONP,如下所示:

$.getJSON('https://ajax.googleapis.com/ajax/services/search/images?q=Google&v=1.0&callback=?', 
function(json) {
  alert(json);
});

You can test it out here。如果没有&callback?,它会尝试使用XmlHttpRequest(AJAX)从远程域获取数据,并因same origin policy而失败/被阻止。这正是JSONP所针对的情况。

来自$.getJSON()文档:

  

<强> JSONP
  如果URL包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。有关详细信息,请参阅$.ajax()jsonp数据类型的讨论。