FormData.set()

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'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:

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

Spécification Statut Commentaire
XMLHttpRequest
La définition de 'set()' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
setChrome Support complet 50Edge Support complet 18Firefox Support complet 39IE Aucun support NonOpera Support complet 37Safari Support complet 11WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 39Opera Android Support complet 37Safari iOS Support complet 11Samsung Internet Android Support complet 5.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi