XMLHttpRequest: upload Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Service Workers.
Die upload
-Eigenschaft von XMLHttpRequest
gibt ein XMLHttpRequestUpload
-Objekt zurück, das beobachtet werden kann, um den Fortschritt eines Uploads zu überwachen.
Es ist ein undurchsichtiges Objekt, aber da es auch ein XMLHttpRequestEventTarget
ist, können Ereignis-Listener hinzugefügt werden, um den Prozess zu verfolgen.
Hinweis: Das Hinzufügen von Ereignis-Listenern zu diesem Objekt verhindert, dass die Anfrage eine "einfache Anfrage" ist und führt dazu, dass eine Preflight-Anfrage gesendet wird, wenn es sich um eine Cross-Origin-Anfrage handelt; siehe CORS. Aufgrund dessen müssen Ereignis-Listener vor dem Aufruf von send()
registriert werden, sonst werden Upload-Ereignisse nicht gesendet.
Hinweis: Die Spezifikation scheint auch darauf hinzudeuten, dass Ereignis-Listener nach open()
hinzugefügt werden sollten. Browser sind jedoch in dieser Hinsicht fehlerhaft und benötigen oft, dass die Listener vor open()
registriert werden, um zu funktionieren.
Die folgenden Ereignisse können bei einem Upload-Objekt ausgelöst werden und zur Überwachung des Uploads verwendet werden:
Ereignis | Beschreibung |
---|---|
[`loadstart`](/de/docs/Web/API/XMLHttpRequestUpload/loadstart_event) | Der Upload hat begonnen. |
[`progress`](/de/docs/Web/API/XMLHttpRequestUpload/progress_event) | Wird periodisch gesendet, um die Menge des bisher erzielten Fortschritts anzuzeigen. |
[`abort`](/de/docs/Web/API/XMLHttpRequestUpload/abort_event) | Der Upload-Vorgang wurde abgebrochen. |
[`error`](/de/docs/Web/API/XMLHttpRequestUpload/error_event) | Der Upload ist aufgrund eines Fehlers fehlgeschlagen. |
[`load`](/de/docs/Web/API/XMLHttpRequestUpload/load_event) | Der Upload wurde erfolgreich abgeschlossen. |
[`timeout`](/de/docs/Web/API/XMLHttpRequestUpload/timeout_event) | Der Upload wurde abgebrochen, weil innerhalb des durch die [`XMLHttpRequest.timeout`](/de/docs/Web/API/XMLHttpRequest/timeout) angegebenen Zeitintervalls keine Antwort eingetroffen ist. |
[`loadend`](/de/docs/Web/API/XMLHttpRequestUpload/loadend_event) | Der Upload wurde beendet. Dieses Ereignis unterscheidet nicht zwischen Erfolg oder Misserfolg und wird am Ende des Uploads gesendet, unabhängig vom Ergebnis. Vor diesem Ereignis wurde bereits eines von load , error , abort oder timeout gesendet, um anzugeben, warum der Upload beendet wurde. |
Spezifikationen
Specification |
---|
XMLHttpRequest Standard # the-upload-attribute |
Browser-Kompatibilität
BCD tables only load in the browser