Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在beforeSend上删除ajax加载程序,并在启动后再次添加它_Html_Jquery_Ajax_Fancybox 3 - Fatal编程技术网

Html 在beforeSend上删除ajax加载程序,并在启动后再次添加它

Html 在beforeSend上删除ajax加载程序,并在启动后再次添加它,html,jquery,ajax,fancybox-3,Html,Jquery,Ajax,Fancybox 3,我们的项目上的ajax事件从这段代码开始被触发,并添加到应用程序头的jsp中。它是一个通用的,所以我们不能在这个代码中进行更改 $( document ).ajaxSend(function( event, request, settings ) { $("#ajaxStatus").show() }); $( document ).ajaxStop(function( event, request, settings ) { $("#ajaxSt

我们的项目上的ajax事件从这段代码开始被触发,并添加到应用程序头的jsp中。它是一个通用的,所以我们不能在这个代码中进行更改

$( document ).ajaxSend(function( event, request, settings ) {
    $("#ajaxStatus").show()
});

$( document ).ajaxStop(function( event, request, settings ) {
    $("#ajaxStatus").hide()
});

$( document ).ajaxError(function( event, request, settings ) {
    $("#ajaxStatus").hide()
});
#ajaxStatus是包含加载程序的div的id,div

<div id="ajaxStatus" style="display: none;">
    <div id="load_gridGrid" class="loading ui-state-default ui-state-active" style="display: block; border: none !important; width: 130px;">
        <asset:image src="ajax-loader.gif" alt="" />
    </div>
</div>

因此,我想要删除ajax的beforeSend()中的加载程序。我们尝试了.unbind()和.hide(),但没有成功。起作用的是.remove(),但是如果我们删除加载程序,加载程序的整个div都将从DOM中删除,我们需要在ajax成功函数之后再次追加该div,而不需要刷新页面。我们可以在不刷新页面的情况下再次追加该div吗?或者我们可以将加载程序隐藏在beforeSend()中而不删除它吗?

我认为您可以将属性global设置为false以防止全局处理程序(ajaxSend、Stop等)


;-)

请使用jQuery CSS方法尝试以下解决方案

$.ajax({
    url: "${createLink(controller: 'test',action: 'test123')}",
    data: "${true}",
    type: "POST",
    dataType: "json",
    beforeSend:function(){
        $('#ajaxStatus').css('display','block');
    },
    success: function (data) {
        $('#ajaxStatus').css('display','none');
    },
    complete: function (data) {
    }
});
$.ajax({
      url: "${createLink(controller: 'test',action: 'test123')}",
      global: false, 

      ...
$.ajax({
    url: "${createLink(controller: 'test',action: 'test123')}",
    data: "${true}",
    type: "POST",
    dataType: "json",
    beforeSend:function(){
        $('#ajaxStatus').css('display','block');
    },
    success: function (data) {
        $('#ajaxStatus').css('display','none');
    },
    complete: function (data) {
    }
});