5

我想对我页面上的每个 AJAX 请求的调用做一些事情。

我在 这里读到

ajaxStart(全局事件)

如果启动了 Ajax 请求并且当前没有其他 Ajax 请求正在运行,则广播此事件。

ajaxComplete(全局事件)

此事件的行为与 complete 事件相同,并且将在每次 Ajax 请求完成时触发。

这意味着我只能跟踪一个 ajax 事件的开始,而不是每个单独的请求?

$(document).ajaxStart(function () {
    var t = new Date(),
        h = t.getHours(),
        m = t.getMinutes(),
        s = t.getSeconds(),
        ms = t.getMilliseconds();
    console.log("Triggered ajaxStart handler   at " + h + ":" + m + ":" + s + ":" + ms);
});


$(document).ajaxComplete(function () {
    var t = new Date(),
        h = t.getHours(),
        m = t.getMinutes(),
        s = t.getSeconds(),
        ms = t.getMilliseconds();
    console.log("Triggered ajaxComplete handler at " + h + ":" + m + ":" + s + ":" + ms);
});

给我

Triggered ajaxStart handler    at 11:14:33:409 
Triggered ajaxComplete handler at 11:14:33:480 
Triggered ajaxComplete handler at 11:14:33:489 
Triggered ajaxComplete handler at 11:14:33:491 
Triggered ajaxComplete handler at 11:14:33:492 
Triggered ajaxComplete handler at 11:14:33:535 
Triggered ajaxComplete handler at 11:14:33:539 
Triggered ajaxComplete handler at 11:14:33:567 
Triggered ajaxComplete handler at 11:14:33:569 

有什么方法可以记录每个 ajax 启动,以便我可以将偶数附加到每个单个 ajax 事件?

4

1 回答 1

10

您需要针对每个.ajaxSendAJAX 请求发送的事件,而不仅仅是第一个未完成的请求。

于 2013-02-25T17:25:15.990 回答