2015-09-25 173 views
1

我有一個系統由許多使用AJAX來執行POST和GET的模塊構建而成。如果我監視這些請求的結果,我可以知道系統是否響應 - 即,如果瀏覽器仍連接到IP源。跟蹤XMLHTTP請求結果

我可以手工在jQuery的AJAX.fail()中注入一些回調方法。我實際上已經做到了這一點,但它可以很容易被遺忘,並增加了很多額外的代碼,因爲這個系統的一切都需要AJAX。

我看到這個有趣的代碼攔截XMLHTTPRequest的open原型法

(function(open) { 
    XMLHttpRequest.prototype.open = function() { 
     this.addEventListener("readystatechange", function() { 
      console.log(this.readyState); 
     }, false); 
     open.apply(this, arguments); 
    }; 
})(XMLHttpRequest.prototype.open); 

我通過API,https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest看,但我沒有什麼地方能找到我能攔截成功/失敗/超時的請求。這可能嗎?

回答

0

這是關於聆聽適當的事件,它們出現在您的鏈接左側的「事件」下的鏈接。

這就是說,我會考慮使用/採取zone.js的一些靈感。

Zone是跨越異步任務持續存在的執行上下文。您可以將其視爲JavaScript VM的線程本地存儲。

+0

謝謝,我只是注意到那些事件 – HeyThereBilly