Zaktualizowana metoda:
Od marca 2016 r. Najnowsze wersje Chrome i Firefox obsługują teraz FormData.entries()
sprawdzanie danych FormData. Źródło .
// 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]);
}
Dzięki Ghost Echo i rlothowi za zwrócenie na to uwagi!
Stara odpowiedź:
Po przejrzeniu tych artykułów Mozilli wygląda na to, że nie ma sposobu na pobranie danych z obiektu FormData. Możesz ich używać tylko do budowania FormData do wysyłania za pośrednictwem żądania AJAX.
Właśnie znalazłem to pytanie, które mówi to samo: FormData.append („klucz”, „wartość”) nie działa .
Jednym ze sposobów byłoby zbudowanie zwykłego słownika, a następnie przekonwertowanie go na 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]);
}
Jeśli chcesz debugować zwykły obiekt FormData, możesz go również wysłać w celu sprawdzenia w konsoli żądań sieciowych:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);