2016-12-24 60 views

回答

0

不知道你是如何试图直接在浏览器中访问API的。它不会那样工作。对相同的API进行AJAX调用,您将收到错误消息:

XMLHttpRequest无法加载http://suggestqueries.google.com/complete/search?q=india&client=firefox&hl=cs。请求的资源上没有“Access-Control-Allow-Origin”标题。因此不允许访问原产地'http://null.jsbin.com'。

原因?

由于此API适用于谷歌内部产品,因此无法正常工作。

跨域限制比较常见,并且使得基于JSONP的请求可以解决此问题。

试试这个,

$.getJSON("http://suggestqueries.google.com/complete/search?callback=?", 
{ 
    "hl":"en", 
    "jsonp":"suggestCallBack", 
    "q":'ind', // query term 
    "client":"firefox" 
}); 

suggestCallBack = function (data) { 
    console.log(data); 
}; 

现在,这是一个基于JQuery的解决方案,但AJAX调用可以很容易地做出不JQuery的也不过我没试过让JSONP呼叫而不JQuery的。

+0

谢谢。我已经阅读了关于需要JSONP,所以我会去寻找一种没有jQuery的调用方式。如果我无法找到它,我只是想接受我的网站慢点,因为它加载。 – WIPocket