Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Jquery .AJAX启动和.AJAX停止不点火_Jquery_Ajax - Fatal编程技术网

Jquery .AJAX启动和.AJAX停止不点火

Jquery .AJAX启动和.AJAX停止不点火,jquery,ajax,Jquery,Ajax,有人能帮我理解为什么这不起作用吗?loading.gif会在ajax.load加载页面时出现,但不会消失。这让我相信,既没有调用.ajaxStart函数,也没有调用.ajaxStop函数(因为它最初也没有隐藏它) 蒂亚 css: #loadingDiv { background-image: url('images/loading.gif'); height: 32px; width: 32px; margin: 50px auto 50px auto; } jquery: <scrip

有人能帮我理解为什么这不起作用吗?loading.gif会在ajax.load加载页面时出现,但不会消失。这让我相信,既没有调用.ajaxStart函数,也没有调用.ajaxStop函数(因为它最初也没有隐藏它)

蒂亚

css:

#loadingDiv {
background-image: url('images/loading.gif');
height: 32px;
width: 32px;
margin: 50px auto 50px auto; }
jquery:

<script type="text/javascript">
        $(document).ready(function()
            {
                $('#loadingDiv')
                    .hide()
                    .ajaxStart(function() {
                        $(this).show();
                    })
                    .ajaxStop(function() {
                        $(this).hide();
                    })
                ;
                $("#results").load("i/getAllInfo.class.php"); return false;
            };
    </script>

$(文档).ready(函数()
{
$(“#加载div”)
.hide()
.ajaxStart(函数(){
$(this.show();
})
.ajaxStop(函数(){
$(this.hide();
})
;
$(“#results”).load(“i/getAllInfo.class.php”);返回false;
};

不要将其链接到
加载div

请尝试以下方法:

$.ajaxStart(function() {
   $('#loadingDiv').show();
});

$.ajaxStop(function() {
   $('#loadingDiv').hide();
});

您不需要从documentready函数返回false,但需要像这样添加右括号)

     $("#results").load("i/getAllInfo.class.php"); return false;
 }); //<----- you need the )
因为它可能只显示很短的时间,以至于你看不到它


这里有一把小提琴给你:

我知道这是一个老问题,但我刚刚修复了我自己出现的这个问题,所以我发布了我的解决方案:基本上,检查你的JavaScript是否有异常或语法错误


从评论中可以看出,您的问题似乎是由语法错误引起的。对我来说,我的ajaxSuccess处理程序中有一个异常,它阻止了ajaxStop启动。然后ajaxStart不会在随后的ajax调用中激发,因为ajaxStart只在批处理的第一个ajax调用中激发。jQuery从未收到ajaxStop,因此它认为批处理仍在运行。

它现在正在工作。出于某种原因,我很难确定我已经关闭了所有的括号和花括号。非常感谢!很抱歉。success callcack中的一个异常阻止了我的ajaxStop启动。
.ajaxStop(function() {
     //$(this).hide();
})