FormData

L'interface FormData permet de construire facilement un ensemble de paires clé/valeur représentant les champs du formulaire et leurs valeurs, qui peuvent ensuite être facilement envoyées en utilisant la méthode XMLHttpRequest.send() de l'objet XMLHttpRequest. Il utilise le même format qu'utilise un formulaire si le type d'encodage est mis à "multipart/form-data".

Vous pouvez également le passer directement au constructeur URLSearchParams si vous souhaitez générer des paramètres de requête de la même manière qu'un <form> le ferait s'il utilisait une simple soumission GET.

Un objet implémentant FormData peut être utilisé directement dans une structure for...of, au lieu de entries() : for (var p of myFormData) est équivalent à for (var p of myFormData.entries()).

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

Constructeur

FormData()
Crée un nouvel objet FormData.

Méthodes

FormData.append()
Ajoute une nouvelle valeur à une clé existante dans un objet FormData, ou ajoute la clé si elle n'existe pas encore.
FormData.delete()
Supprime une paire clé/valeur d'un objet FormData.
FormData.entries()
Retourne une itération permettant de passer en revue toutes les paires clé/valeur contenues dans cet objet.
FormData.get()
Renvoie la première valeur associée à une clé donnée à partir d'un objet FormData.
FormData.getAll()
Retourne un tableau de toutes les valeurs associées à une clé donnée à partir d'un FormData.
FormData.has()
Renvoie un booléen indiquant si un objet FormData contient une certaine clé.
FormData.keys()
Retourne une itération permettant de parcourir toutes les clés des paires clé/valeur contenues dans cet objet.
FormData.set()
Définit une nouvelle valeur pour une clé existante dans un objet FormData, ou ajoute la clé/valeur si elle n'existe pas encore.
FormData.values()
Retourne une itération permettant de parcourir toutes les clés des paires clé/valeur contenues dans cet objet.

Spécifications

Spécification Statut Commentaire
XMLHttpRequest
La définition de 'FormData' dans cette spécification.
Standard évolutif FormData définit dans les specs XHR

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
FormDataChrome Support complet 7Edge Support complet 12Firefox Support complet 4
Notes
Support complet 4
Notes
Notes Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
IE Support complet 10Opera Support complet 12Safari Support complet 5WebView Android Support complet ≤37
Notes
Support complet ≤37
Notes
Notes XHR in Android 4.0 sends empty content for FormData with blob.
Chrome Android Support complet 18Firefox Android Support complet 4
Notes
Support complet 4
Notes
Notes Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0
FormData() constructorChrome Support complet 7Edge Support complet 12Firefox Support complet 4IE Support complet 10Opera Support complet 12Safari Support complet 5WebView Android Support complet ≤37Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0
Support of for...ofChrome Support complet 50Edge Support complet 79Firefox Support complet 44IE ? Opera ? Safari Support complet 11WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 44Opera Android ? Safari iOS Support complet 11Samsung Internet Android Support complet 5.0
appendChrome Support complet 7Edge Support complet 12Firefox Support complet 4
Notes
Support complet 4
Notes
Notes Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
IE Support complet 10
Notes
Support complet 10
Notes
Notes With the "Include local directory pass when uploading files to a server" option enabled, IE will change the filename inside the Blob on the fly. To have direct control of the sent filename, the developer should send the filename as the third parameter value, i.e. formData.append(name, value, filename).
Opera Support complet 12Safari Support complet 5WebView Android Support complet 3
Notes
Support complet 3
Notes
Notes XHR in Android 4.0 sends empty content for FormData with blob.
Chrome Android Support complet 18Firefox Android Support complet 4
Notes
Support complet 4
Notes
Notes Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0
deleteChrome Support complet 50Edge Support complet 18Firefox Support complet 39IE Aucun support NonOpera Support complet OuiSafari Support complet 11WebView Android Support complet OuiChrome Android Support complet 50Firefox Android Support complet OuiOpera Android Support complet OuiSafari iOS Aucun support NonSamsung Internet Android Support complet 5.0
entriesChrome Support complet 50Edge Support complet 18Firefox Support complet 44IE Aucun support NonOpera Support complet 37Safari Support complet 11WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 44Opera Android Support complet 37Safari iOS Support complet 11Samsung Internet Android Support complet 5.0
getChrome 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
getAllChrome 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
hasChrome Support complet 50Edge Support complet 18Firefox Support complet 39IE Aucun support NonOpera Support complet OuiSafari Support complet 11WebView Android Support complet OuiChrome Android Support complet 50Firefox Android Support complet OuiOpera Android Support complet OuiSafari iOS Aucun support NonSamsung Internet Android Support complet 5.0
keysChrome Support complet 50Edge Support complet 18Firefox Support complet 44IE Aucun support NonOpera Support complet OuiSafari Support complet 11WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 44Opera Android ? Safari iOS Support complet 11Samsung Internet Android Support complet 5.0
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
valuesChrome Support complet 50Edge Support complet 18Firefox Support complet 44IE Aucun support NonOpera Support complet 37Safari Support complet 11WebView Android Support complet 50Chrome Android Support complet 50Firefox Android Support complet 44Opera Android Support complet 37Safari iOS Support complet 11Samsung Internet Android Support complet 5.0
Available in workersChrome Support complet OuiEdge Support complet ≤18Firefox Support complet 39IE Aucun support NonOpera Support complet OuiSafari Aucun support NonWebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet OuiOpera Android Support complet OuiSafari iOS Aucun support NonSamsung Internet Android Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi