2016-12-24 98 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