Javascript 使用jqueryajax执行多个操作
我想执行一个操作,同时显示HTML5和JavaScript的进度。因为我使用的是IE 8,所以不支持Javascript 使用jqueryajax执行多个操作,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我想执行一个操作,同时显示HTML5和JavaScript的进度。因为我使用的是IE 8,所以不支持元素,所以我想到的方法是使用jQuery AJAX方法,如下所示: <div class="progress-bar" role="progressbar" id="id" aria-valuemin="0" aria-valuemax="100"> <span class="sr-only">Complete</span> </div>
元素,所以我想到的方法是使用jQuery AJAX方法,如下所示:
<div class="progress-bar" role="progressbar" id="id" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">Complete</span>
</div>
但这里的问题是如何同时执行操作和更新进度条?因为在进入
success:
AJAX请求的一部分后,直接显示100%
进度是没有意义的。是否有其他方法可用于此?假设操作发生在服务器端,我知道有两种方法
轮询
这将使用不同的ajax实现
setInterval(function(){
$.ajax("checkprogress.url", function(data){
$('.progress-bar').val(data);
}, 1000);
基本上,您将每隔一段时间轮询一个服务器端服务/脚本/代码,响应将包含当前进度。然后,您将更新进度条
WebSocket
另一种方法是使用web套接字框架,该框架将允许您推送内容(进度更新)和/或实现对连接的客户端的实时更新
两个这样的框架是和您在服务器端执行什么操作?如果要上载任何文件,请使用
$.ajaxSettings.xhr().upload()代码>你可以获得上传百分比我想在我的项目中也这样做。但这是不可能的,因为这是一个ajax调用,你无法获得真正意义上的进度。你可以制作一个假进度条,但这不是实际的进度:(我把它作为一个通用组件,不一定是上传的,你可以使用它的例子:-查看uploadProgress
及其percentComplete
。