Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

XMLHttpRequest: upload-Eigenschaft

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

Die schreibgeschützte Eigenschaft upload des Interfaces XMLHttpRequest gibt ein XMLHttpRequestUpload-Objekt zurück, mit dem sich der Fortschritt eines Uploads überwachen lässt.

Das Objekt selbst ist undurchsichtig. Da es jedoch auch ein XMLHttpRequestEventTarget ist, können Event-Listener registriert werden, um den Verlauf des Uploads zu verfolgen.

Hinweis: Wenn Sie Event-Listener an diesem Objekt registrieren, gilt die Anfrage nicht mehr als „simple request“. Bei einer Cross-Origin-Anfrage wird dadurch eine Preflight-Anfrage ausgelöst; siehe CORS. Deshalb müssen die Event-Listener vor dem Aufruf von send() registriert werden, da andernfalls keine Upload-Events ausgelöst werden.

Hinweis: Die Spezifikation scheint außerdem vorzugeben, dass Event-Listener nach open() registriert werden sollten. Aufgrund von Browserfehlern müssen die Listener jedoch häufig vor open() registriert werden, damit sie funktionieren.

Die folgenden Events können für ein Upload-Objekt ausgelöst und zur Überwachung des Uploads verwendet werden:

Event Beschreibung
[`loadstart`](/de/docs/Web/API/XMLHttpRequestEventTarget/loadstart_event) Der Upload hat begonnen.
[`progress`](/de/docs/Web/API/XMLHttpRequestEventTarget/progress_event) Wird regelmäßig ausgelöst, um den bisherigen Fortschritt anzuzeigen.
[`abort`](/de/docs/Web/API/XMLHttpRequestEventTarget/abort_event) Der Upload wurde abgebrochen.
[`error`](/de/docs/Web/API/XMLHttpRequestEventTarget/error_event) Der Upload ist aufgrund eines Fehlers fehlgeschlagen.
[`load`](/de/docs/Web/API/XMLHttpRequestEventTarget/load_event) Der Upload wurde erfolgreich abgeschlossen.
[`timeout`](/de/docs/Web/API/XMLHttpRequestEventTarget/timeout_event) Der Upload hat das Zeitlimit überschritten, weil innerhalb des durch [`XMLHttpRequest.timeout`](/de/docs/Web/API/XMLHttpRequest/timeout) festgelegten Zeitraums keine Antwort eingegangen ist.
[`loadend`](/de/docs/Web/API/XMLHttpRequestEventTarget/loadend_event) Der Upload ist beendet. Dieses Event unterscheidet nicht zwischen Erfolg und Fehlschlag und wird unabhängig vom Ergebnis am Ende des Uploads ausgelöst. Zuvor wurde bereits eines der Events load, error, abort oder timeout ausgelöst, das den Grund für das Ende des Uploads angibt.