// 创建原始的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('拦截到的数据', data)
} catch (err) {
console.log('错误', err);
}
}
}, false);
return oldSend.apply(this, arguments);
}
js改写原生XMLHttpRequest进行全局http请求响应拦截
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在page中 我们使用 this.setData赋值时,this的执行上下文是page本身,其setData也只能...
- 大多时候,我们会对网络请求的返回值做处理,首先就可以根据响应的状态码进行判断,然后可以做统一的拦截,就没有必要对每...