私は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);