Metodo aggiornato:
A partire da marzo 2016, le versioni recenti di Chrome e Firefox ora supportano l'utilizzo FormData.entries()
per ispezionare FormData. Fonte .
// 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]);
}
Grazie a Ghost Echo e rloth per segnalato!
Vecchia risposta:
Dopo aver visto questi articoli di Mozilla , sembra che non ci sia modo di estrarre dati da un oggetto FormData. Puoi usarli solo per creare FormData da inviare tramite una richiesta AJAX.
Ho anche trovato questa domanda che afferma la stessa cosa: FormData.append ("chiave", "valore") non funziona .
Un modo per aggirare questo sarebbe costruire un dizionario normale e poi convertirlo in 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]);
}
Se desideri eseguire il debug di un semplice oggetto FormData, puoi anche inviarlo per esaminarlo nella console delle richieste di rete:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);