FormData.append和.set不添加条目

时间:2018-08-20 17:34:57

标签: javascript

我正在尝试使用FormDataappend对象获取条目。我也尝试过set。当我尝试console.log条目时,它为空。

const fd = new FormData()
fd.append('firstname', 'Bob')
fd.append('surname', 'Hammond')
fd.append('birthday', new Date(1, 1, 2018))

const entries = fd.entries()
console.log(entries)

谢谢

2 个答案:

答案 0 :(得分:3)

您需要将entriesiterable)转换为具有spread syntax的数组。

const fd = new FormData()
fd.set('firstname', 'Bob')
fd.set('surname', 'Hammond')
fd.append('birthday', new Date(1, 1, 2018))

const entries = fd.entries()
console.log([...entries])

您也可以使用Array.from

const fd = new FormData()
fd.set('firstname', 'Bob')
fd.set('surname', 'Hammond')
fd.append('birthday', new Date(1, 1, 2018))

const entries = fd.entries()
console.log(Array.from(entries))

您可以使用for of循环来分别获取每个条目,因为entries是一个可迭代的对象。

const fd = new FormData()
fd.set('firstname', 'Bob')
fd.set('surname', 'Hammond')
fd.append('birthday', new Date(1, 1, 2018))

const entries = fd.entries()
for(let item of entries){
  console.log(item);
}

答案 1 :(得分:0)

Entries返回迭代器,您可以调用next()获得下一个值:

typeof _action

或将其放在循环中。

entries.next();

或转换为数组:

for (let entry of entries) {
    console.log(entry);
}