2017-10-20 14 views
0

$.ajaxStart$.ajaxComplete相似,我不知道是否有一个事件,触发所有请求开始请求完成事件? 因为当我执行form.submit时,ajaxStart和ajaxComplete显然没有被触发。使用Javascript/jQuery的事件识别所有请求开始/结束

我想为所有请求显示通用加载动画。

我当前的实现(Ajax的请求):

$(document).ajaxStart(function (event, request, settings) { 
    $("#ajax-loader").show(); 
}); 

$(document).ajaxComplete(function (event, request, settings) { 
    if ($.active == 1) { 
     $("#ajax-loader").hide(); 
    } 
}); 
+4

在提交标准表单提交(即非AJAX)请求后,您无法可靠地更新DOM,因为该页面将立即被卸载,并且DOM的内容将从内存中移除。 –

+0

@Rory McCrossan:谢谢你的澄清。 – MaxPower

+0

一个诀窍是在表单提交中使用setTimeout包装器。您可以在分析中看到很多,您可能需要在页面卸载之前触发一些跟踪事件。 – delinear

回答

0

您可以使用事件window.onsubmit检查时发送的形式。 但是,如果你想使用这种技术,你应该总是通过AJAX发送各种东西。

相关问题