更新された方法:
2016年3月の時点で、ChromeとFirefoxの最近のバージョンでは、を使用FormData.entries()
したFormDataの検査がサポートされています。ソース。
// 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]);
}
これを指摘してくれたGhost Echoとrlothに感謝します!
古い答え:
見た後、これらの Mozillaの 記事いるFormDataオブジェクトからデータを取得する方法がないように、それが見えます。AJAXリクエストを介して送信するFormDataを構築するためにのみ使用できます。
私はまた、同じことを示すこの質問を見つけました:FormData.append( "key"、 "value")が機能していません。
これを回避する1つの方法は、通常の辞書を作成し、それを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]);
}
プレーンなFormDataオブジェクトをデバッグしたい場合は、ネットワークリクエストコンソールで確認するために送信することもできます。
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);