處理我周圍使用jQuery的AJAX功能的包裝功能是這樣的:jQuery的Ajax錯誤與「腳本」數據類型
$.getAjax = function(url, type, callback){
$.ajax({
url: url,
cache: false,
dataType: type,
success: function(){
alert("success");
},
complete: function(XMLHttpRequest, textStatus){
alert("complete");
if (callback != undefined) {
callback();
}
},
error: function (XMLHttpRequest, textStatus, errorThrown){
alert("error");
}
});
}
當我使用這個以「文本」作爲數據類型它完美的作品,即使網址無效。當一個url無效時,它首先調用錯誤,然後調用完整的函數。沒關係。 但是,當我使用「script」作爲dataType時,它不會在URL無效時調用任何東西。 當我使用「腳本」作爲數據類型時,我應該怎麼做以捕獲HTTP 404錯誤和其他錯誤?
您用什麼來調試?你有權訪問Fiddler或Firebug,以便評估正在請求並返回的內容嗎?另一個問題是:你是否試圖通過'腳本'請求訪問不同域上的資源? – 2010-07-29 17:19:17
我甚至不嘗試Firebug,但這是一個好主意。資源位於不同的域中,但我可以從「跨域」獲取腳本 – Pink 2010-07-29 17:21:22
將'type'參數從'script'更改爲'jsonp'會發生什麼?你的成功警示火嗎? – 2010-07-29 21:17:41