当前位置: 首页 > 面试题库 >

如何以百分比形式显示Ajax响应的加载状态?

终彬郁
2023-03-14
问题内容

我想显示加载有进度条的ajax响应的用户百分比。有办法实现吗?现在,我只显示图像。

这是我的代码示例:

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

$.ajax({
        type : 'Get',
        url : myUrl,
        success : function(response) {
            $('#loadingDiv').hide();
            populateData(response);
        },
        error: function(x, e) {
                    $('#loadingDiv').hide();
            if (x.status == 500 || x.status == 404) {
                    alert("no data found");
                }
        }
    });

HTML代码:

<div id="loadingDiv">
     <img src="loading-img.png"/>
</div>

问题答案:

有两种显示真实百分比的方法。简短地…

一个 -老式的原生JavaScript或jQuery
ajax,您也需要服务器支持,而另一个URL可以为您提供更新。而且您会间隔一定时间点击该URL。

两个 -HTML5浏览器中的现代本机JavaScript,支持
XMLHTTPRequest2
(也称为AJAX
2),由新的Web和HTML5标准定义。

如果是两个,欢迎来到新网站!!
浏览器已添加了多个功能来增强连接性-HTML5功能的一部分。

XMLHTTPRequest2 启用AJAX中的事件,这些事件有助于监视JavaScript本身的进度以及许多其他情况。您可以通过监视实际进度来显示
实际百分比

var oReq = new XMLHttpRequest();

oReq.addEventListener("progress", updateProgress, false);
oReq.addEventListener("load", transferComplete, false);
oReq.addEventListener("error", transferFailed, false);
oReq.addEventListener("abort", transferCanceled, false);

oReq.open();

然后,您可以定义上面附加的处理程序(您的情况下的 进度 ):

function updateProgress (oEvent) {
  if (oEvent.lengthComputable) {
    var percentComplete = oEvent.loaded / oEvent.total;
    // ...
  } else {
    // Unable to compute progress information since the total size is unknown
  }
}

jQuery也可以在第二种情况下使用。毕竟,jQuery可以帮助您减少代码,更多工作!

希望你正专注于HTML5和新的网络解决方案,我想指出你 的Mozilla DOC -
在AJAX监测进展从那里我已经采取了这一解决方案。

现在,每个浏览器都有一个用于Web的文档(例如,来自Mozilla的上述文档),此外,所有这些浏览器都与一个有影响力的Web和Internet巨头共同致力于一个名为
Web Platform
的普通企业,以获取通用的更新Web文档。这是一项正在进行的工作,因此尚未完成。

而且, 旧的AJAX中没有本地功能来监视进度

在老式的方法中,您将必须创建一个间隔函数,该函数将不断命中单独的URL以获取进度更新。您的服务器还必须更新进度,并将其作为响应从其他端口提供的URL发送出去。



 类似资料:
  • 问题内容: 我已经阅读了有关使用CSS的响应式精灵的每个问题,我看到jsfiddle带有响应式精灵的工作示例,但是我仍然无法理解如何获取背景位置和背景尺寸的百分比,如何使用包装器(某些人们说有必要)在使用背景图像的div周围以及为什么要使用它… 例如,如果我的div的宽度为20%(例如40px),并且是一个圆形。我需要用作背景图像的图像具有80px的宽度(一个圆圈,我需要调整其大小以适合我的div

  • 更新:我知道我应该使用JS和/或Ajax来实现它,我只是想知道是否有一种方法也可以在PHP中实现它:)

  • 问题内容: 以下是熊猫数据框和从中生成的条形图: 我需要在相应栏上方显示相应主题的每个兴趣类别的百分比。我可以创建带有百分比的列表,但是我不知道如何将其添加到相应栏的顶部。 问题答案: 尝试将以下循环添加到您的代码中: 说明 通常,您可以在图上添加注释。 此方法采用注释的值和放置注释的坐标。 在一个barplot,每个“条”是由a表示,并且每个这些矩形的具有属性,和矩形的左下角的COORDS,所有

  • 按照这里的指示https://cloudinary.com/documentation/advanced_url_delivery_options#client_side_resources 我使用获取API访问. json文件来显示上传的媒体,但出现了一个错误加载资源失败:服务器响应状态为404() 这是我的密码 我也试过

  • 我试图用aquery从网站加载图像,并在progressbar上以百分比显示加载进度。文档表明,使用此示例代码

  • 问题内容: 我尝试在我的网站中实施AJAX。单击div changepass的内容时,则应加载changepass.template.php。这是我为此使用的代码。 我的问题是在页面changepass.template.php完全加载时如何显示GIF动画(loading.gif)。请给我一些代码提示。 问题答案: 有很多方法可以做到这一点。一种简单的方法: JS: 詹姆斯·怀斯曼 ( James