321

console.logを使用してループしてみました for in

ここに FormDataのMDN リファレンスがあります。

どちらの試みもこのフィドルにあります。

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

フォーム データを調べて、どのキーが設定されているかを確認するにはどうすればよいですか。

4

20 に答える 20

45

メソッドを使用しformData.entries()ます。すべてのブラウザのサポートについてはわかりませんが、Firefox では問題なく動作します。

https://developer.mozilla.org/en-US/docs/Web/API/FormData/entriesから取得

// 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.get()formData.getAll()それらは値のみを表示し、キーは表示しません。詳細については、リンクを参照してください。

于 2016-03-29T19:47:17.560 に答える
24

ES6+ ソリューション:

フォーム データの構造を確認するには:

console.log([...formData])

各キーと値のペアを表示するには:

for (let [key, value] of formData.entries()) {
  console.log(`${key}: ${value}`);
}
于 2018-10-17T21:53:29.673 に答える
13

簡単な方法

このコードをAngular 8で使用しました

var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');

 formData.forEach((value,key) => {
    console.log(key+value)
     });

于 2019-11-22T06:06:52.663 に答える
11

場合によっては、次の使用:

for(var pair of formData.entries(){... 

不可能です。

代わりにこのコードを使用しました:

var outputLog = {}, iterator = myFormData.entries(), end = false;
while(end == false) {
   var item = iterator.next();
   if(item.value!=undefined) {
       outputLog[item.value[0]] = item.value[1];
   } else if(item.done==true) {
       end = true;
   }
    }
console.log(outputLog);

あまりスマートなコードではありませんが、機能します...

それが助けになることを願っています。

于 2016-06-03T10:09:12.630 に答える
4

typeScriptangular 6このコードは私のために働いています。

var formData = new FormData();
formData.append('name', 'value1');
formData.append('name', 'value2');
console.log(formData.get('name')); // this is return first element value.

またはすべての値について:

console.log(formData.getAll('name')); // return all values
于 2019-07-14T08:36:44.137 に答える
3

FormData オブジェクトのエントリをオブジェクトとしてコンソールに記録する関数を次に示します。

export const logFormData = (formData) => {
    const entries = formData.entries();
    const result = {};
    let next;
    let pair;
    while ((next = entries.next()) && next.done === false) {
        pair = next.value;
        result[pair[0]] = pair[1];
    }
    console.log(result);
};

MDN ドキュメント.entries()

.next()とのMDN ドキュメント.done

于 2016-12-02T01:19:37.267 に答える
0

フォームデータ

var formData = new FormData(); // Currently empty
formData.append('username', 'Chris');

for (var key of formData.keys()) {
   console.log(key);
}

for (var value of formData.values()) {
   console.log(value);
}

もっと知る

于 2021-10-19T06:09:13.580 に答える