使用jQuery记录所有AJAX请求持续时间

时间:2013-10-18 14:01:57

标签: jquery ajax

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

2 个答案:

答案 0 :(得分:2)

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

  

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

答案 1 :(得分: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
  }
});