0
我正在測試通知服務器關閉時處理UI的功能。加載代碼實際上工作正常,但如果服務器無法訪問,則沒有任何回調似乎觸發。當主機不響應時檢測來自跨域AJAX請求的錯誤
下面是加載代碼和的jsfiddle:http://jsfiddle.net/xykKf/2/
$(document).ready(function() {
$.ajax({
url: "http://localhost:51437/Scripts/framework.js",
dataType: "script",
error: handleError,
success: function() {
if (!("OFrame" in window)) {
handleError();
} else {
alert("success");
}
}
});
function handleError() {
alert("error");
}
});
如果你運行這個(我故意使用localhost,這樣的請求將失敗)沒有回調會火,但請求會失敗。如何有效處理無法返回響應的跨域請求?
是否推薦使用setTimeout來處理錯誤並取消成功回調中的超時? – Parker
這可以工作,但它不會阻止控制檯中的錯誤。另外,你應該等待setTimeout多久? –
@Parker'$ .ajax'已經有一個'timeout'選項可能是合適的。 – apsillers