Ajax文件上传进度没有任何插件Jquery
Ajax File-upload progress without any plugin Jquery
如何在JQuery中获取文件上传的进度,以便更新文件上传的状态栏。
以下是我在JQuery中使用Ajax上传文件的代码:
$('button').click(function(e) {
var formData = new FormData($('#myform')[0]);
$.ajax({
url: 'FileUploadExample',
type: 'post',
data: formData,
async: true,
cache: true,
contentType: false,
processData: false,
success: function(returndata) {
}
});
});
在谷歌上搜索这个问题时,我发现jquery.form.min.js插件有uploadProgress
选项。
如何在不使用JQuery/JavaScript中的任何插件的情况下获取上传进度。
使用JQuery xhr元素,如
var formData = new FormData($('#myForm')[0]);
$.ajax({
url: url,
type: 'POST',
xhr: function() {
myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){
myXhr.upload.addEventListener('progress',progressHandlerFunction, false);
}
return myXhr;
},
data: formData,
cache: false,
contentType: false,
processData: false
});
在progressHandlerFunction中,您可以访问像一样的e.loaded和e.total进度
progressHandlerFunction(e)
{
console.log(e.total+""+e.loaded);
}
$.ajaxSettings.xhr((;是真正的XMLHttpRequest元素,在原生JS中,您可以在XMLHttpRequest.upload-onProgress事件上绑定一个处理程序,然后您可以获得event.total和event.loaded,每次event.loadd更改值时,progress事件都会触发。
- event.total=HTTP请求的总大小
- event.loaded=当前上载的值
你可以用这个做任何事情2,你可以通过做得到百分比var percent=Math.round((event.loaded/event.total) * 100);
,并相应地调整您的加载条宽度。
相关文章:
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- Select2js插件无法选择任何选项
- 任何好的 JavaScript Eclipse 插件
- ajaxForm插件在任何单击<按钮>上提交
- 我们是否有任何通用脚本/ jquery插件可以在通过ajax选项卡加载的内容上应用javascript
- Sonar Javascript插件错误:“无法装饰”和“在其源文件夹中不包含任何文件”
- console.log在FF插件生成器中没有显示任何内容
- 如何在没有任何浏览器插件的情况下调试AngularJS绑定{{expression}}
- 火狐插件 - 无法触发任何类型的点击事件
- html5 3D GUI使用,没有任何插件
- 科尔多瓦是否有任何插件可以上传任何扩展名的文件
- 在文本输入键上,我想在没有任何插件的情况下显示验证错误
- 我如何创建随机和动态大小图像的马赛克风格图片库,而不使用任何插件
- Ajax文件上传进度没有任何插件Jquery
- 我如何在不使用任何插件的情况下创建Wordpress联系人页面
- 是否有任何插件的日历,可以显示没有任何事件
- 网格视图.使用JavaScript排序(没有jQuery或任何插件)
- 是否有浏览器支持或任何插件,显示html元素的ID或名称作为工具提示,而悬停在一个元素
- 无限(可滚动)Div没有任何插件与Javascript/JQuery