监控ajax上传进度
2018-11-30 16:17
39 查看
[code]<div id="open_content" style="padding:20px;"> <!-- 外层div 进度条的整体视觉和位置设置 --> <div style="width:300px;height: 20px;border: 1px solid #CCC;"> <!-- 内层div 逐渐递增的进度条 --> <div id="jdt" style="height: 20px;"></div> </div> <div style="margin-top:16px;"> <p style="margin-top:16px;">总大小<span id="total"></span>;</p> <p style="margin-top:16px;">已上传<span id="loaded"></span>;</p> </div><br> </div>
[code] $.ajax({ url: "${pageContext.request.contextPath}/base/add", type: 'post', cache: false, data: formData, processData: false, contentType: false, async : true,//这一步很重要,必须同步,异步监测不到 success: function (data) { }, xhr: xhrOnProgress(function(evt){ var percent = Math.floor(evt.loaded / evt.total*100);//计算百分比 console.log(percent); // 设置进度条样式 $('#jdt').css('width',percent * 3 + 'px'); $('#jdt').css('background','skyblue'); //显示进度百分比 $('#jdt').text(percent+'%'); $('#loaded').text(evt.loaded/1024 + 'K'); $('#total').text(evt.total/1024 + 'K'); }), error: function(){ }, beforeSend: function(){ } });
[code]var xhrOnProgress=function(fun) { xhrOnProgress.onprogress = fun; //绑定监听 //使用闭包实现监听绑 return function() { //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象 var xhr = $.ajaxSettings.xhr(); //判断监听函数是否为函数 if (typeof xhrOnProgress.onprogress !== 'function') return xhr; //如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去 if (xhrOnProgress.onprogress && xhr.upload) { xhr.upload.onprogress = xhrOnProgress.onprogress; } return xhr; } }
阅读更多
相关文章推荐
- FormData+Ajax实现上传进度监控
- 通过AJAX监控文件上传进度
- FormData+Ajax实现上传进度监控
- dwr+ajax和struts开发文件上传进度条
- 利用fileupload组件实现掌控上传进度的AJAX Upload
- 基于ajax实现文件上传并显示进度条
- Ajax formData上传文件 + 进度条
- 利用ajax技术显示上传进度
- 基于HTML5 Ajax实现文件上传并显示进度条
- Servlet:htm+javascript+css+servlet (ajax)实现上传(能显示进度条)
- PHP+ajaxForm异步带进度条上传文件实例
- jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
- 转:使用AjaxPro实现文件上传进度条
- php+ajax文件上传进度条
- ajax利用html5新特性带进度条上传文件
- PHP+apc+ajax实现的ajax_upload上传进度条代码
- Servlet:htm+javascript+css+servlet (ajax)实现上传(能显示进度条)
- jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
- AJAX+JSP实现基于WEB的文件上传的进度控制,作者:刘作晨