Прерывание xmlhttprequest

Я использую HTML5 для загрузки файлов. У меня есть событие нажатия кнопки, связанное с функцией uploadFile () . Он работает нормально. У меня также есть отдельная кнопка для отмены загрузки. Я знаю, что нам нужно вызвать xhr.abort () , но как мне получить доступ к объекту xhr в uploadCanceled ? Я могу сделать объект 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");
    } 

Ура

15
задан Fliss Hou 17 December 2018 в 07:32
поделиться