不知道你是如何试图直接在浏览器中访问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的。
谢谢。我已经阅读了关于需要JSONP,所以我会去寻找一种没有jQuery的调用方式。如果我无法找到它,我只是想接受我的网站慢点,因为它加载。 – WIPocket