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 :
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'unBlob
(y compris les sous-classes telles queFile
). 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'unBlob
ou unFile
est passée comme deuxième paramètre. Le nom de fichier par défaut pour les objetsBlob
est "blob". Le nom de fichier par défaut pour les objetsFile
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:
var formData = new FormData(); // Actuellement vide
Vous pouvez définir des paires clé/valeur à ce sujet en utilisant FormData.set
:
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
:
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