我試圖在書籤中使用jQuery JSONP AJAX請求,我發現請求在某些頁面上工作,但沒有在別人身上。下面是示例代碼:jQuery JSONP AJAX請求有時會失敗,「TypeError:無法調用方法'完成'未定義」
jQuery.ajax({
url: "http://echo.jsontest.com/key/value/one/two",
type: "GET",
dataType: "jsonp",
cache: false
}).done(function(data){
console.log(data);
}).fail(function(jqXHR, textStatus, errorThrown){
console.log("errorThrown: " + errorThrown);
});
如果你去下面的亞馬遜頁面:
http://www.amazon.com/dp/B00336EUTK?psc=1
而且在控制檯執行上面的代碼,你會發現,它的工作原理。但是,如果你去這個亞馬遜的頁面:
http://www.amazon.com/dp/B00E5UHSYW?psc=1
而且在控制檯執行上面的代碼,會出現以下錯誤:
TypeError: Cannot call method 'done' of undefined
是什麼原因造成這個問題,怎麼會這樣固定?
編輯:我發現一個有趣的事情是,上了AJAX請求的網頁作品,回調參數似乎總是這個樣子:
callback=jQuery1640586556919850409_1390439428297
在哪裏失敗的頁面,它似乎總是看起來像這樣:
callback=jsonp1390439502398
我試過這在一堆不同的亞馬遜網頁上,它似乎是這種行爲是一致的。
也許這只是一個巧合,但我認爲這值得指出。
這從來沒有超過我的腦海!謝謝! – Nate
Yah,像亞馬遜這樣的網站是粉筆充滿驚喜:)。樂意效勞! – chantastic