Estoy usando HTML5 para cargar archivos. Tengo un evento de clic de botón conectado a la función uploadFile(). Funciona bien. También tengo un botón por separado para cancelar la carga. Sé que debemos llamar a xhr.abort(); Pero, ¿cómo accedo al objeto xhr en la función uploadCanceled? Puedo hacer que el objeto xhr sea global, pero esa no es la forma correcta. ¿Puede alguien guiarme aquí?Cancelando el 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");
}
Saludos
¿Está intentando acceder a la 'xhr' vez que ha sido abortado (dentro de' uploadCanceled') o usted ¿Necesitas alcanzarlo para que puedas llamar 'abortar '? Su pregunta y sus comentarios a continuación no parecen alinearse entre sí. –