我创建了一个像这样的FormData
对象:
var data = new FormData()
data.append('image', input[0].files[0])
data.append('user', 'hubot')
现在,当我尝试像这样检查它时
console.log(data)
我得到了一个空的FormData
对象(唯一的属性是__proto__
)。没有image
和user
属性。
我创建了一个像这样的FormData
对象:
var data = new FormData()
data.append('image', input[0].files[0])
data.append('user', 'hubot')
现在,当我尝试像这样检查它时
console.log(data)
我得到了一个空的FormData
对象(唯一的属性是__proto__
)。没有image
和user
属性。
你需要迭代 entries。 FormData
是一种 object
类型,因此不能直接记录它本身,而是要通过 get
方法获取值或迭代 entries
。以下是示例。
var data = new FormData()
//data.append('image', input[0].files[0])
data.append('user', 'hubot')
for(var pair of data.entries()) {
console.log(pair[0]+ ', '+ pair[1]);
}
如果您只想一次获取一个值,则可以通过key
来获取。
console.log(data.get('user'));
// 'hubot'
编辑
展开语法允许在期望零个或多个参数(用于函数调用)或元素(用于数组文字)的位置处展开可迭代对象,例如数组表达式或字符串,或在期望零个或多个键值对(对于对象文字)的位置处展开对象表达式。 了解更多。因此,如果您只想简单地记录
// console.log(...data);
console.log
可以使用像 user = {name: "John"}
这样的对象,但不能使用 FormData? - Mulliganfor (var d of data.entries()) {
console.log(d);
// Do whatever with d
}
console.log(Array.from(data));
- ponury-kostek