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