formData看不到数据的原因
初次使用new FormData(),后端接收不到数据。查询原因:1 使用方式不对,应该用$data = new FormData($(‘#表单ID‘)[0])。因为new FormData需要的是一个HtmlElement类型的数据,而jquery拿到的是HtmlElement集合,所以哪怕只有一个元素,也要用[0]取其第一个元素。jQuery是一个伪数组对象,本身是对象,能表现出来数组的特点:
初次使用new FormData(),后端接收不到数据。
查询原因:
1 使用方式不对,应该用
$data = new FormData($(‘#表单ID‘)[0])。
因为new FormData需要的是一个HtmlElement类型的数据,而jquery拿到的是HtmlElement集合,所以哪怕只有一个元素,也要用[0]取其第一个元素。
jQuery是一个伪数组对象,本身是对象,能表现出来数组的特点: 有length属性,能够用下标取值;
$(".someClass") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;
$("#id") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;
2 formData看不到数据的原因,需用get()
var fileObj = document.getElementById("file").files[0]; // js 获取文件对象 var form1 = new FormData(); // FormData 对象 form1.append("file", fileObj); // 文件对象 console.log(form1)
最后输出的是空的formData对象,看不到插入的fileObj的内容
经查询,如要查询formData的内容,需用get(),如:
var fileObj = document.getElementById("file").files[0]; // js 获取文件对象 var form1 = new FormData(); // FormData 对象 form1.append("file", fileObj); // 文件对象 console.log(form1.get('file'))
随笔记录,没时间整理,见谅。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)