【发布时间】:2011-12-17 22:04:54
【问题描述】:
我正在使用 HTML5 上传文件。我有一个按钮单击事件附加到函数uploadFile()。它工作正常。我还有一个单独的按钮来取消上传。我知道我们需要调用xhr.abort(),但是如何访问uploadCanceled 函数中的xhr 对象?我可以使 xhr 对象成为全局对象,但这不是正确的方法。有人可以在这里指导我吗?
function uploadFile(){
var filesToBeUploaded = document.getElementById("fileControl");
var file = filesToBeUploaded.files[0];
var xhr= new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload.php", true);
var fd = new FormData();
fd.append("fileToUpload", file);
xhr.send(fd);
}
function uploadCanceled(evt) {
alert("Upload has been cancelled");
}
干杯
【问题讨论】:
-
您是在
xhr被中止后尝试访问它(在uploadCanceled内),还是需要访问它以便致电abort?您的问题和下面的 cmets 似乎并不一致。
标签: javascript html xmlhttprequest