Qual è la differenza tra il blocco di questo codice:XMLHttpRequest.addEventListener vs XMLHttpRequest.upload.addEventListener
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_url");
xhr.send(some_form_data);
e questo:
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.upload.addEventListener("load", uploadComplete, false);
xhr.upload.addEventListener("error", uploadFailed, false);
xhr.upload.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload_url");
xhr.send(some_form_data);
Ho visto entrambe le implementazioni in blog e altri SO post, ma nessuno spiega perché usano uno sull'altro. L'unica differenza che posso trovare a questo punto è che quest'ultimo non funziona sul browser Android predefinito, mentre il primo sembra funzionare praticamente su tutto.
Penso che 'xhr.upload' è fondamentalmente utilizzato per tracciare lo stato di uplaod dei file che vengono caricati altrimenti utilizzando il primo metodo è sempre meglio. – Amareswar