我一直在浪費大量的時間去做一些我認爲非常簡單的事情,但是沒有很好的例子來說明ajax調用的方式和做法。jQuery ajax jsonp調用總是得到意想不到的令牌錯誤
這是我的javascript代碼:
$.ajax({
type: 'GET',
url: 'https://maps.googleapis.com/maps/api/timezone/json',
dataType: 'jsonp',
data: {
location: myLoc,
timestamp: myTime,
sensor: true
},
success: function(){alert('OK');},
error: function(){alert('FAIL');}
})
}
變量 「myLoc」 和 「數值指明MyTime」 都沒有問題。實際上,如果我將URI剪切並粘貼到瀏覽器中,它就可以正常工作並顯示數據:https://maps.googleapis.com/maps/api/timezone/json?callback=jQuery18307430207263678312_1354817349576&location=36.7468422%2C-119.7725868×tamp=1354817353&sensor=true&_=1354817353398
從我一直在閱讀的內容中,「回調」參數是自動生成的,並且代碼應該足夠智能調用成功功能或錯誤功能。
chrome返回的錯誤是「未捕獲的語法錯誤意外標記」:'「 無論我嘗試什麼,javascript代碼始終調用錯誤函數。我添加了一個jsonpCallback參數(沒有工作),json參數(沒有工作),將dataType更改爲「json」(由於跨域錯誤而無法工作)。
請幫助。
api似乎不支持您使用它的方式jsonp。 –
關於如何將結果導入變量的任何想法? – elvis
首先你必須弄清楚如何使api支持JSONP,如果它可以支持JSONP的話。否則,你將不得不求助於服務,如YQL或服務器端代理 –