如何将formData“转换”为数组?
这对我来说很好用,但似乎并不适用于所有浏览器:https://developer.mozilla.org/en-US/docs/Web/API/FormData/entries
有没有一种方法可以在支持旧浏览器的情况下做同样的事情?
var form_data = new FormData(this);
var form_array = [];
for(var pair of formData.entries()) {
form_array[pair[0]] = pair[1];
}
更新
我试过了,没有运气:
var entries = form_data.entries();
for (var i = 0; i < entries.length; i++) {
console.log(entries[i]);
}
console.log(entries);
它给了
Iterator {}
4条答案
按热度按时间nwlqm0z11#
在现代浏览器上,您可以使用
Array.from
来获取键/值对列表,或使用Object.fromEntries
将FormData
转换为标准对象。来自MDN:
**
Array.from()
**方法从一个类似数组或可迭代的对象创建一个新的、浅拷贝的Array
示例。**
Object.fromEntries()
**静态方法将键值对列表转换为对象。但是对于旧版浏览器(没有polyfill),必须手动解包迭代器:
如果你想保存名称-值对,你应该迭代表单:
uoifb46i2#
您可能需要使用look at this w3shcools example
bqf10yzr3#
可能是
t1qtbnec4#
此代码生成一个对象,其中列出示例表单中所有字段的名称和值: