延迟所有ajax请求

时间:2017-05-09 15:50:38

标签: javascript

  

未捕获的TypeError:非法调用

我在我的应用程序中尝试延迟所有ajax请求时出现此错误。

(function(send) {
  XMLHttpRequest.prototype.send = function(data) {
    setTimeout( function () {
      send.call(this, data); //Error here
    },3000);
  };
})(XMLHttpRequest.prototype.send);
你可以给我一些提示吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您似乎正在调用.call传递当前范围window

(function(send) {
  XMLHttpRequest.prototype.send = function(data) {
    var self = this;
    setTimeout( function () {
      send.call(self, data); //Updated `this` context
    },3000);
  };
})(XMLHttpRequest.prototype.send);