Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

FormData : méthode set()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2018.

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 append() réside dans le fait que, si la clé définie existe déjà, set() écrase toutes les valeurs existantes par la nouvelle, tandis que append() ajoute la nouvelle valeur à la fin de l'ensemble de valeurs existant.

Syntaxe

js
set(name, value)
set(name, value, filename)

Paramètres

name

Le nom du champ dont les données sont contenues dans value.

value

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

filename Facultatif

Le nom de fichier communiqué au serveur (une chaîne de caractères), lorsqu'un Blob ou un File est passé 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 définissez un Blob comme données à ajouter à l'objet FormData, le nom de fichier qui est communiqué au serveur dans l'en-tête "Content-Disposition" peut varier d'un navigateur à l'autre.

Valeur de retour

Aucune (undefined).

Exemples

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

Lorsque la valeur est un Blob (ou un File), vous pouvez définir son nom avec le paramètre filename :

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

Si la valeur n'est ni une chaîne de caractères ni un Blob, set() la convertit automatiquement en chaîne de caractères :

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

Spécifications

Spécification
XMLHttpRequest
# dom-formdata-set

Compatibilité des navigateurs

Voir aussi