Méthode mise à jour:
Depuis mars 2016, les versions récentes de Chrome et Firefox prennent désormais en charge l'utilisation FormData.entries()
pour inspecter FormData. Source .
// Create a test FormData object
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// Display the key/value pairs
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
Merci à Ghost Echo et rloth de l' avoir signalé!
Ancienne réponse:
Après avoir consulté ces articles Mozilla , il semble qu'il n'y ait aucun moyen d'extraire des données d'un objet FormData. Vous ne pouvez les utiliser que pour créer FormData à envoyer via une demande AJAX.
Je viens également de trouver cette question qui dit la même chose: FormData.append ("clé", "valeur") ne fonctionne pas .
Un moyen de contourner ce problème serait de créer un dictionnaire standard, puis de le convertir en FormData:
var myFormData = {
key1: 300,
key2: 'hello world'
};
var fd = new FormData();
for (var key in myFormData) {
console.log(key, myFormData[key]);
fd.append(key, myFormData[key]);
}
Si vous souhaitez déboguer un objet FormData ordinaire, vous pouvez également l'envoyer afin de l'examiner dans la console de demande réseau:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);