jquery:如何检查页面是否正在执行ajax请求?

时间:2012-05-14 12:37:22

标签: jquery ajax

我想构建一个随每个ajax请求触发的函数。喜欢显示“加载......”。我使用Jquery是可能的吗?

4 个答案:

答案 0 :(得分:9)

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

无论如何,你为什么要用这个“装载”指示器?只需在您提出请求时设置指标。

答案 1 :(得分:3)

是:

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();
});

答案 2 :(得分:3)

是的,这完全有可能。从这里的全局ajax处理程序开始http://api.jquery.com/category/ajax/global-ajax-event-handlers/ .ajaxStart()和.ajaxStop()事件最有可能显示您的状态指示器。

答案 3 :(得分:1)

如前所述,$ .active包含活动jQuery AJAX连接的数量。当$ .active达到0时,所有AJAX都已加载。所以,你可以设置一个bucle并等待所有的执行。我在这里找到了解决方案,&#34; etgregor&#34;答案

How do I know if jQuery has an Ajax request pending?