Tôi đang sử dụng HTML5 để tải tệp lên. Tôi có một sự kiện bấm nút gắn liền với hàm uploadFile(). Nó hoạt động tốt. Tôi cũng có một nút riêng để hủy tải lên. Tôi biết chúng ta cần gọi xhr.abort(); Nhưng làm cách nào để truy cập đối tượng xhr trong hàm uploadCanceled? Tôi có thể làm cho đối tượng xhr toàn cầu nhưng đó không phải là cách thích hợp. Ai đó có thể hướng dẫn tôi ở đây không?Hủy bỏ xmlhttprequest
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");
}
Cheers
Bạn đang cố gắng truy cập 'xhr' khi nó đã được hủy bỏ (trong 'uploadCanceled') hoặc làm bạn cần đạt tới nó để bạn có thể gọi là 'hủy bỏ'? Câu hỏi của bạn và bình luận của bạn dưới đây dường như không phù hợp với nhau. –