怎么获取到formData提交的值,打印formData是个空对象

新手上路,请多包涵

// 上传文件
uploadFiles = () => {

// console.log(111)
this.field.validate();
let file1 = document.getElementById("file1");
const formData = new FormData();
formData.append("crowdName", this.state.inputVlaue);
formData.append("file", file1.files[0]);
console.log(formData.get("crowdName"))
console.log(formData)
if(!file1.files[0]){
  Toast.error('请选择需要上传的文件夹')
  return false;
}
console.log(file1.files[0])
Ajax.Fetch({
  type:'post',
  url:'/crowdUpload/updateCrowd.html',
  data:formData,
  success:(data) => {
    Toast.success("上传成功")
    console.log('创建成功')
    console.log(data)
    // location.href="customerGroup.html"
  }
})
  

}

阅读 23.9k
2 个回答

获取单个值可以使用formData对象.get();
而直接打印是看不到的。因为外界访问不到,你使用append方法后,对应的键值对就已经添加到表单里面了,你在控制台看到的是FormData原型,存储的数据没有以对象属性的方式体现。
想获取可以尝试以下两种方法

 //第一种
 for (var value of formData.values()) {
    console.log(value);
 }
 //第二种
 for (var [a, b] of formData.entries()) {
    console.log(a, b);
 }      

推荐有疑问先去mdn查资料
https://developer.mozilla.org...

百度formdata, 看到的都是直接把formdata放到ajax的data里,但是前端都打印不出这个formdata对象里的数据,那么后端应该怎么取?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题