4

我想构建一个随每个 ajax 请求触发的函数。就像显示“正在加载...”一样。我正在使用 Jquery 这可能吗?

4

4 回答 4

9

jQuery.active包含活动的 jQuery AJAX 连接数。但是,您必须不断地轮询该 var,以便在新连接出现时触发事件。

无论如何,你为什么要用它作为“加载”指标?每当您提出请求时,只需设置指标即可。

于 2012-05-14T12:41:02.943 回答
3

Yes:

http://api.jquery.com/ajaxStart/

http://api.jquery.com/ajaxStop/

HTML:

<div id="loadingDiv">Loading ajax stuff...</div>

jQuery:

$('#loadingDiv')
.hide() 
.ajaxStart(function() {
    $(this).show();
})
.ajaxStop(function() {
    $(this).hide();
});
于 2012-05-14T12:39:31.677 回答
3

Yes, this is totally possible. Start with the global ajax handlers here http://api.jquery.com/category/ajax/global-ajax-event-handlers/ .ajaxStart() and .ajaxStop() events are the most likely candidate to show your status indicator.

于 2012-05-14T12:39:43.727 回答
1

如前所述,$.active 包含活动的 jQuery AJAX 连接数。当 $.active 达到 0 时,所有的 AJAX 都已经加载完毕。因此,您可以设置一个 bucle 并等待所有处决。我在这里找到了解决方案,“etgregor”答案

我如何知道 jQuery 是否有待处理的 Ajax 请求?

于 2016-11-17T14:11:30.757 回答