FormData.set()

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.

Note : Cette fonctionnalité est disponible via les Web Workers.

La méthode set() de l'interface FormData définit une nouvelle valeur pour une clé existante dans un objet FormData, ou ajoute la clé/valeur si elle n'existe pas encore.

La différence entre set() et FormData.append est que si la clé spécifiée existe déjà, set() écrasera toutes les valeurs existantes avec la nouvelle, tandis que FormData.append ajoutera la nouvelle valeur à la fin de l'ensemble de valeurs existant.

Note : Cette méthode est disponible dans les Web Workers.

Syntaxe

Il existe deux versions de cette méthode : une version à deux et une version à trois paramètres :

js
formData.set(name, value);
formData.set(name, value, filename);

Paramètres

name

Le nom du champ dont les données sont contenues en valeur (value).

value

La valeur du champ. Il peut s'agir d'un USVString ou d'un Blob (y compris les sous-classes telles que File). Si aucune de ces sous-classes n'est spécifiée, la valeur est convertie en une chaîne de caractères.

filename Facultatif

Le nom de fichier communiqué au serveur (un USVString), lorsqu'un Blob ou un File est passée comme deuxième paramètre. Le nom de fichier par défaut pour les objets Blob est "blob". Le nom de fichier par défaut pour les objets File est le nom du fichier.

Note : Si vous spécifiez un Blob comme donnée à ajouter à l'objet FormData, le nom du fichier qui sera rapporté au serveur dans l'en-tête "Content-Disposition" utilisé pour varier d'un navigateur à l'autre.

Exemple

La ligne suivante crée un objet FormData vide:

js
var formData = new FormData(); // Actuellement vide

Vous pouvez définir des paires clé/valeur à ce sujet en utilisant FormData.set :

js
formData.set("username", "Chris");
formData.set("userpic", myFileInput.files[0], "chris.jpg");

Si la valeur envoyée est différente de String ou Blob, elle sera automatiquement convertie en String :

js
formData.set("name", 72);
formData.get("name"); // "72"

Spécifications

Specification
XMLHttpRequest Standard
# dom-formdata-set

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi