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: Dieses Feature ist verfügbar in Web Workers.
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
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 wieFile
). 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
oderFile
als zweiter Parameter übergeben wird. Der Standarddateiname fürBlob
-Objekte ist "blob". Der Standarddateiname fürFile
-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
formData.append("username", "Chris");
Wenn der Wert ein Blob
(oder eine File
) ist, können Sie seinen Namen mit dem filename
-Parameter angeben:
formData.append("user-pic", myFileInput.files[0], "chris.jpg");
Wie bei normalen Formulardaten können Sie mehrere Werte mit dem gleichen Namen anhängen:
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:
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