Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jqueryajax执行多个操作_Javascript_Jquery_Ajax_Html - Fatal编程技术网

Javascript 使用jqueryajax执行多个操作

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>

我想执行一个操作,同时显示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>

但这里的问题是如何同时执行操作和更新进度条?因为在进入
success:
AJAX请求的一部分后,直接显示
100%
进度是没有意义的。是否有其他方法可用于此?

假设操作发生在服务器端,我知道有两种方法

轮询

这将使用不同的ajax实现

setInterval(function(){
   $.ajax("checkprogress.url", function(data){
       $('.progress-bar').val(data);
}, 1000);
基本上,您将每隔一段时间轮询一个服务器端服务/脚本/代码,响应将包含当前进度。然后,您将更新进度条

WebSocket

另一种方法是使用web套接字框架,该框架将允许您推送内容(进度更新)和/或实现对连接的客户端的实时更新


两个这样的框架是和

您在服务器端执行什么操作?如果要上载任何文件,请使用
$.ajaxSettings.xhr().upload()你可以获得上传百分比我想在我的项目中也这样做。但这是不可能的,因为这是一个ajax调用,你无法获得真正意义上的进度。你可以制作一个假进度条,但这不是实际的进度:(我把它作为一个通用组件,不一定是上传的,你可以使用它的例子:-查看
uploadProgress
及其
percentComplete