FormData: append()-Methode

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: Diese Funktion ist in Web Workers verfügbar.

Die append()-Methode des FormData-Interfaces fügt einem vorhandenen Schlüssel in einem FormData-Objekt einen neuen Wert hinzu oder fügt den Schlüssel hinzu, wenn dieser noch nicht existiert.

Der Unterschied zwischen set() und append() besteht darin, dass set() alle vorhandenen Werte durch den neuen ersetzt, wenn der angegebene Schlüssel bereits existiert, während append() den neuen Wert am Ende der bestehenden Wertemenge hinzufügt.

Syntax

js
append(name, value)
append(name, value, filename)

Parameter

name

Der Name des Feldes, dessen Daten in value enthalten sind.

value

Der Wert des Feldes. Dies kann ein String oder ein Blob sein (einschließlich Unterklassen wie File). Wenn keiner dieser Werte angegeben ist, wird der Wert in einen String umgewandelt.

filename Optional

Der Dateiname, der an den Server gemeldet wird (ein String), wenn ein Blob oder File als zweiter Parameter übergeben wird. Der Standarddateiname für Blob-Objekte ist "blob". Der Standarddateiname für File-Objekte ist der Dateiname der Datei.

Hinweis: Wenn Sie einen Blob als Daten an das FormData-Objekt anhängen, variierte der Dateiname, der im "Content-Disposition"-Header an den Server gemeldet wird, von Browser zu Browser.

Rückgabewert

Keiner (undefined).

Beispiele

js
formData.append("username", "Chris");

Wenn der Wert ein Blob (oder eine File) ist, können Sie seinen Namen mit dem filename-Parameter angeben:

js
formData.append("user-pic", myFileInput.files[0], "chris.jpg");

Wie bei normalen Formulardaten können Sie mehrere Werte mit dem gleichen Namen anhängen:

js
formData.append("user-pic", myFileInput.files[0], "chris1.jpg");
formData.append("user-pic", myFileInput.files[1], "chris2.jpg");

Wenn der Wert kein String oder Blob ist, wandelt append() ihn automatisch in einen String um:

js
formData.append("name", true);
formData.append("name", 72);
formData.getAll("name"); // ["true", "72"]

Spezifikationen

Specification
XMLHttpRequest Standard
# dom-formdata-append

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch