【问题标题】:Loading image with large ajax response加载具有大 ajax 响应的图像
【发布时间】:2016-05-31 19:46:06
【问题描述】:

我添加了以下代码,以在 ajax 请求期间在我的网页中显示和隐藏加载图像。

 $(document).ajaxStart(function(){
    $("#please_wait").css("display","block");
 });

$(document).ajaxComplete(function(){
     $("#please_wait").css("display","none");
});

这里,$("#please_wait") 是一个包含加载图像的div

我的问题是

我的一些 ajax 请求返回超过 15 MB 的数据。但是加载的图像没有显示到接收到的完整数据。它在开始接收数据时被删除。

为什么?

以及如何解决这个错误?

【问题讨论】:

  • 尝试将 ajaxComplete 替换为成功回调,可能有一些错误并且 ajaxComplete 被提前调用。
  • 您的网站上是否有多个 ajax 请求? ajaxComplete 可以从任何其他请求中触发。
  • @secelite ,是的,这是我用来显示加载器的常用功能。
  • @Giannis,是的,这就是问题所在,我正试图找到一种方法来完成数据传输。

标签: javascript jquery ajax


【解决方案1】:

您可以尝试以下方式,而不是将display:none 放在ajaxComplete 中:

在ajax成功调用条件的第一行写$("#please_wait").css("display","none");

$(document).ajaxStart(function(){
    $("#please_wait").css("display","block");
});

if (xmlhttp.readyState==4 && xmlhttp.status==200) {        
    $("#please_wait").css("display","none");        
}

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2019-05-04
    • 2020-12-01
    • 2017-11-11
    相关资源
    最近更新 更多