我想檢查一個未使用jQuery的站點的活動Ajax請求,所以我怎樣才能編寫相當於jQuery.active
的?相當於純Javascript的jQuery.active
我想檢查ajax請求是否在訪問完頁面後完成。我發現window.XMLHttpRequest
類,但不知道如何使用它。任何幫助讚賞。
我想檢查一個未使用jQuery的站點的活動Ajax請求,所以我怎樣才能編寫相當於jQuery.active
的?相當於純Javascript的jQuery.active
我想檢查ajax請求是否在訪問完頁面後完成。我發現window.XMLHttpRequest
類,但不知道如何使用它。任何幫助讚賞。
我用這個結束了。如果window.ajax_active == 4,那麼我知道ajax請求已經完成。似乎爲我工作到目前爲止。
window.ajax_active = 0;
(function(open) {
return XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
this.addEventListener('readystatechange', (function() {
if (this.readyState == 1) {
window.ajax_active += 1;
} else if (this.readyState == 4){
window.ajax_active -= 1;
}
}), false);
return open.call(this, method, url, async, user, pass);
};
})(XMLHttpRequest.prototype.open);
不知道如何使用它,當我調用'window.ajax_active'時,它給出了賦值 –
jQuery.active也給出了賦值。你想做什麼? –
如果我們設置'window.ajax_active = 0; '它將返回0,但'jQuery.active'返回活動的Ajax請求。 –
檢查http://stackoverflow.com/a/3148506/2025923。它只是一個在jQuery對象上定義的變量。 – Tushar
@Tushar謝謝,但每個解決方案都使用jQuery。 –
這並不回答這個問題,但澄清......'window.XMLHttpRequest.DONE'是一個只讀常量*(不是數量)*家族之一,每個代表一個XHR實例的可能狀態之一 - UNSENT:0;創立時間:1; HEADERS_RECEIVED:2; LOADING:3;完成:4。不太清楚這是指定的地方(W3C?IANA?),但它很常見(IE,Chrome,Opera),可能是通用的。 –