您的位置:首页 > 其它

任何情况都有效的ajax全局回调

2015-11-25 12:58 183 查看
这儿说的任何情况,就是使用任意框架的ajax函数,或不使用任何框架的原生ajax,本方法总是有效。另,本方法js在任意位置执行均可生效。特殊说明: 浏览器需支持XMLHttpRequest对象,对使用activex的垃圾ie自己想办法。

简单的东西直接上代码:

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代码的一条原则,尤其是写组件时:

不要在内置对象原型上扩展或修改!

不要在内置对象原型上扩展或修改!

不要在内置对象原型上扩展或修改!

重要的事情说三遍,本方法修改了内置对象的原型方法,所以请谨慎使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: