jquery中在使用new FormData()的时候报Failed to construct ‘FormData‘: parameter 1 is not of type ‘HTMLFormElement‘
问题描述
最近在写上传视频的功能,前端使用 FormData来提交数据
使用一下代码来获取表单中的数据(使用ajax提交数据)
let formData = new FormData($('#uploadVideosForm'));
报了如下的错误 :
提示FormData未构建成功
检查发现
发现是使用jQuery获取DOM出现的问题,应该使用原生js来获取
let formData = new FormData(document.getElementById('uploadVideosForm'));
使用jQuery获取到的和原生js获取到的是不一样的.
原生获取的结果是当前的dom节点
jQuery获取的结果如下,是一个数组
这两种结果是可以相互转换的
jQuery转换成原生节点 :
$('#id').eq(0)[0] ;
原生节点转成jQuery的:
let temp = document.getElementById('id');
$(temp[0]);