初次使用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 = ("file").files[0]; // js 获取文件对象 var form1 = new FormData(); // FormData 对象 ("file", fileObj); // 文件对象 (form1)
最后输出的是空的formData对象,看不到插入的fileObj的内容
经查询,如要查询formData的内容,需用get(),如:
var fileObj = ("file").files[0]; // js 获取文件对象 var form1 = new FormData(); // FormData 对象 ("file", fileObj); // 文件对象 (('file'))
随笔记录,没时间整理,见谅。