javascript - 使用 console.log 检查 FormData 对象
问题描述
我创建了这样创建FormData
的对象:
var data = new FormData()
data.append('image', input[0].files[0])
data.append('user', 'hubot')
现在,当我尝试像那样检查它时
console.log(data)
我得到空FormData
对象(唯一的属性是__proto__
)。没有image
和user
属性。
解决方案
您应该遍历条目。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);
推荐阅读
- twitter-bootstrap - 更新 bootstrap-vue 警报的内容
- javascript - JavaScript,无法对对象进行排序
- html - 使用 CSS 在子菜单下拉菜单下创建子菜单
- java - 如何将图像压缩到 5kb?
- c++ - 与储备无关的向量重新分配
- python - 如何抓取表格并找出特定列中最大数量的相应条目?
- c# - C# XML 对象,插入值
- sql - SQL Case - 对 ELSE 返回的值进行分组
- python - SSL:SSLV3_ALERT_HANDSHAKE_FAILURE sslv3 警报握手失败 (_ssl.c:833)
- java - @SerializedName 被忽略