这儿说的任何情况,就是使用任意框架的ajax函数,或不使用任何框架的原生ajax,本方法总是有效。另,本方法js在任意位置执行均可生效。特殊说明: 浏览器需支持XMLHttpRequest对象,对使用activex的垃圾ie自己想办法。
最后,友情提示下写js代码的一条原则,尤其是写组件时:
简单的东西直接上代码:
var oldSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(){
console.log(arguments); //这儿写请求的处理,也可以终止请求
var oldCallback = this.onreadystatechange;
this.onreadystatechange = function(){
if(this.responseText) { // 这儿可以获取到响应
console.log(this.responseText);
}
oldCallback.apply(this, arguments);
}
oldSend.apply(this, arguments);
}
最后,友情提示下写js代码的一条原则,尤其是写组件时:
不要在内置对象原型上扩展或修改!
不要在内置对象原型上扩展或修改!
不要在内置对象原型上扩展或修改!
重要的事情说三遍,本方法修改了内置对象的原型方法,所以请谨慎使用。