Gav*_*vin 12 javascript jquery xmlhttprequest
我正在使用XMLHttpRequest(使用jQuery)来获取多个文件的上传进度.通过向XMLHttpRequest对象添加"progress"事件侦听器,我可以得到event.loaded和event.total.这些变量给出了所有组合文件的加载和总字节数.
我想要做的是获取每个文件的进度,但从我可以看到的信息不能用于XMLHttpRequest.真的吗?
我不认为这甚至是必要的,但这是我的代码:
var xhr = $.ajaxSettings.xhr();
if (xhr.upload) {
xhr.upload.addEventListener('progress', function(event) {
var percent = 0;
var position = event.loaded || event.position;
var total = event.total;
if (event.lengthComputable) {
percent = Math.ceil(position / total * 100);
}
updateProgressBar(percent);
}, false);
}
return xhr;
Run Code Online (Sandbox Code Playgroud)
如果我能用XMLHttpRequest完成这个,那就太好了.任何关于此的信息将不胜感激.
这就是我用的,
$.ajax({
xhr: function () {
myXhr = $.ajaxSettings.xhr();
myXhr.addEventListener('progress', function (e) { }, false);
if (myXhr.upload) {
myXhr.upload.onprogress = function (e) {
var completed = 0;
if (e.lengthComputable) {
var done = e.position || e.loaded,
total = e.totalSize || e.total;
completed = Math.round((done / total * 1000) / 10);
}
console.log(completed); // Displays the completed percentage
}
}
return myXhr;
}
});
Run Code Online (Sandbox Code Playgroud)