0

因此,我需要测量使用 jQuery 发送的所有 AJAX 请求的响应时间,因此如果请求时间超过 [x] 秒,我可以通知用户。但是,我不想中止请求,所以我没有使用timeout. $.ajaxSetup所以我调查了$.ajaxStart,但是只有在没有任何其他 AJAX 请求正在进行时才会运行。但是,因为我异步发送多个请求,所以它只运行一个。我最好做什么?

4

2 回答 2

2

我认为您正在寻找.ajaxSend()

每当即将发送 Ajax 请求时,jQuery 都会触发 ajaxSend 事件。此时会执行已使用 .ajaxSend() 方法注册的所有处理程序。

于 2013-10-18T14:09:06.703 回答
0
var startTime;
vat endTime;
$.ajax({
  //whatever your code is
  beforeComplete:function()
  {
  startTime = new Date().getTime();
  }
  success: function() {
    var endTime = new Date().getTime(),
    total =  endTime - startTime;
    console.log(total);
  }
  afterComplete:function()
  {
     endTime = new Date().getTime();
   // alert(endTime-startTime)
   // log endTime-startTime
  }
});
于 2013-10-18T14:16:08.130 回答