我有一个文件上传器可以工作,因为文件和变量正在上传,并且完成处理程序在上传完成时被触发..但是进度处理程序不是..任何想法为什么不? ..问候
function uploadFile_function(){
var formData = new FormData();
formData.append("var1", "jane");
formData.append("varFile", fileToUpload);
var xhr = new XMLHttpRequest();
xhr.open("POST", "upload.php");
xhr.addEventListener("progress", function (ev) {
alert('progress');
}, false);
xhr.addEventListener("load", function (ev) {
alert('complete');
}, false);
xhr.send(formData);
}
答案 0 :(得分:1)
您需要调用事件监听器before calling xhr.open。
答案 1 :(得分:1)
下载和上传传输都存在进度事件。下载事件在XMLHttpRequest对象本身上触发,如上面的示例所示。上传事件在XMLHttpRequest.upload对象上触发,如下所示:
function uploadFile_function(){
var formData = new FormData();
formData.append("var1", "trip");
formData.append("varFile", fileToUpload);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", function (ev) {
alert('progress');
}, false);
xhr.upload.addEventListener("load", function (ev) {
alert('complete');
}, false);
xhr.open("POST", "upload.php");
xhr.send(formData);
}