2
所以,我試圖設置每個請求的超時發送和解決,如果一個正在「太長」。我正在觀看網絡標籤,每個請求都低於300毫秒,但是「太長」會被記錄6次! (我發送的請求數量)。有什麼我做錯了變量,setTimeouts什麼的?奇怪的setTimeout清除行爲與jQuery AJAX
var ajaxMonitor = {};
function timingStart() {
var url = arguments[2].url;
ajaxMonitor[url] = {};
ajaxMonitor[url].timer = setTimeout(function() {
console.log('too long');
}, 300);
}
function timingEnd() {
var url = arguments[2].url;
clearTimeout(ajaxMonitor[url].timer);
}
$(document).ajaxSend(timingStart);
$(document).ajaxComplete(timingEnd);
嘗試用你的「太長」的消息,並在'timingEnd'功能登錄的網址。這可能會給你更多的信息來調試。 –
您是否有可能多次向同一個URL執行AJAX請求?因爲如果你是這個URL,那麼只有最近的'setTimeout'會被清除。 – Dan