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

前端之家收集整理的这篇文章主要介绍了任何情况都有效的ajax全局回调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这儿说的任何情况,就是使用任意框架的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代码的一条原则,尤其是写组件时:

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

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

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

重要的事情说三遍,本方法修改了内置对象的原型方法,所以请谨慎使用。

猜你在找的Ajax相关文章