// 創(chuàng)建原始的XMLHttpRequest對象
let oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
return oldOpen.apply(this, arguments);
}
let oldSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function() {
this.addEventListener('readystatechange', function() {
// 攔截response
if (this.readyState === 4) {
try {
const data = this.response
console.log('攔截到的數(shù)據(jù)', data)
} catch (err) {
console.log('錯誤', err);
}
}
}, false);
return oldSend.apply(this, arguments);
}
js改寫原生XMLHttpRequest進行全局http請求響應攔截
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 在page中 我們使用 this.setData賦值時,this的執(zhí)行上下文是page本身,其setData也只能...
- 大多時候,我們會對網(wǎng)絡請求的返回值做處理,首先就可以根據(jù)響應的狀態(tài)碼進行判斷,然后可以做統(tǒng)一的攔截,就沒有必要對每...