javascript - 为什么这张图片在发送 AJAX 请求之前不显示并在完成时隐藏?

标签 javascript jquery html css ajax

我正在尝试在处理我的 AJAX 请求时使“正在加载”gif 可见。所以我有

beforeSend: function () { 
   $('.form-sending-gif').show(); 
   console.log("The beforeSend function was called"); 
}

complete: function () { 
   $('.form-sending-gif').hide(); 
   console.log("The complete function was called"); 
}

console.log 仅用于测试目的。出于未知原因,我已经确认这两个功能都在触发,但图像并没有像预期的那样显示隐藏。我在控制台中输入了 $('.form-sending-gif').show() 以验证所述函数是否执行预期的操作。在页面加载时图像是

我做错了什么?

最佳答案

如果没有从您的问题中获得更多细节,很难回答问题,但无论如何我都会尝试一下。

你可以尝试这样的事情。

$(function () {

    // On click func
    $('#test').click(function(){
        // Set loading image to display here
        $('#test').text('Greetings')

        // Simulated ajax request(put your ajax here)
        var ajaxCallDfd = $.Deferred();
        setTimeout(function () {
            ajaxCallDfd.resolve();
        }, 1000);

        // When the ajax is finished Then we display the loaded image.
        $.when(ajaxCallDfd).then(function(){
            $('#test').text('Goodbye')
        })
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="test"> Hi </div>

关于javascript - 为什么这张图片在发送 AJAX 请求之前不显示并在完成时隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928557/

相关文章:

javascript - ECMAScript 规范 v5 中缺少有关输入在全局作用域中声明的函数时会发生什么的详细信息?

jQuery onclick 函数没有触发

javascript - 比较两列高度 Bootstrap/在列之间移动 div

javascript - 有没有比构建字符串和设置 innerHTML 更好的填充 HTML 小部件的方法?

javascript - 一段时间后自动调用Javascript函数的正确方法是什么?

JavaScript 给日期加 1

javascript - Windows 路径字符串的正则表达式

javascript - 在图像加载时将图像从零放大到完整尺寸

jquery - 具有可调整大小的元素的可调整大小的 jQuery UI 小部件

php - 当我有权限的用户登录时,标题对我的管理页面不起作用