FormDataを検査するには?質問する

FormDataを検査するには?質問する

私はconsole.logを使ってループ処理を試しましたfor in

ここではMDNリファレンスFormData で。

どちらの試みもこのフィドル

var fd = new FormData(),
    key;

// poulate with dummy data
fd.append("key1", "alskdjflasj");
fd.append("key2", "alskdjflasj");

// does not do anything useful
console.log(fd);

// does not do anything useful   
for(key in fd) {
    console.log(key);
}

フォーム データを検査して、設定されているキーを確認するにはどうすればよいでしょうか。

ベストアンサー1

更新された方法:

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]); 
}

感謝ゴーストエコーそしてロスこれを指摘してくれてありがとう!

古い回答:

見てからこれら モジラ 記事どうやら、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);

おすすめ記事