javascript - 当 ajax async 设置为 false 时无法看到页面加载器图像

标签 javascript jquery

我在 ajax 调用之前显示加载图像,并在成功时隐藏它。

$('#Search').on('click', function (e) {

    $('#loaderImg').show();

    $.ajax({
        url: '',
        data: '',
        async: false,
        success: function (response) {

            ...some lines of code

            $('#loaderImg').hide();

        }  
    });
});

当 async 为 false 时,图像不显示,可能是因为在执行 javascript 时 UI 没有更新。

当 async 设置为 true 时,图像在隐藏到成功 block 之前是可见的。

请建议一种在成功 block 执行之前使图像可见的方法,同时保持异步参数为 false。

在 Chrome 中测试。

最佳答案

您是否尝试过全局 ajaxStart 和 ajaxStop 事件:

$('#loaderImg').bind('ajaxStart', function(){
      $(this).show();
 }).bind('ajaxStop', function(){
      $(this).hide();
 });

关于javascript - 当 ajax async 设置为 false 时无法看到页面加载器图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20243526/

相关文章:

javascript - 如何修复无法读取未定义的属性 'Latitude'

javascript - 如何访问 initConfig 中设置的 grunt 任务的回调

javascript - 动态添加的 anchor 点击不会调用jquery mobile中的函数

javascript - 使用 Javascript 或 jQuery 将元素写入子 iframe

jquery .text 作为条件

Javascript getFullYear、getMonth、getDate 不起作用

javascript - 添加到变量

javascript - iframe 和 JavaScript 位于不同页面

javascript - 将图像固定到位,使其跟随滚动到某个点

javascript - 在每个循环中使用 setTimeout 不起作用