不知道你是如何試圖直接在瀏覽器中訪問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