我是ajax上传的新手,我想在上传过程中添加进度条。
我添加了progressEvent
的注册功能,但事实证明该功能只能执行一次一次。因此,我的进度条将无用。
下面是我的代码,我的代码有什么问题?我该怎么做才对?谢谢!
var fileEle = document.querySelector('#file');
file.onchange = function(e){
let file = e.target.files[0];
var formData = new FormData();
formData.append('book',file);
var xhr = new XMLHttpRequest();
xhr.onprogress = function(e){
console.log(e);//this only execute once ,why?
}
xhr.open('post','http://127.0.0.1:8080/profile');
xhr.send(formData);
}
答案 0 :(得分:0)
实际上,progressEvent将发出很多次。
您应该注册xhr.upload
对象
下面是正确的代码:
var fileEle = document.querySelector('#file');
file.onchange = function(e){
let file = e.target.files[0];
var formData = new FormData();
formData.append('book',file);
var xhr = new XMLHttpRequest();
xhr.upload.onprogress = function(e){
console.log(e);//this only execute once ,why?
}
xhr.open('post','http://127.0.0.1:8080/profile');
xhr.send(formData);
}