一、FormData对象的使用概述:1、使用一些键值对模拟一系列的表单控件:即组装所有的名称和值将表单中的表单元素合并为一个queryString2。异步上传二进制文件。二、使用1、FormData对象的操作方法都在原型中,它没有任何属性和方法。letformData=newFormData()formData.append('user','zhang')getformData.get('user')//zhangdeleteformData.delete('user')....2.使用FormData对象发送文件HTML部分name:file:JSpartvarbtn=document.querySelector('[type=button]');btn.onclick=function(){//文件元素varfile=document.querySelector('[type=file]');//将文件转换为二进制数据varformData=newFormData();//将文件转换为二进制文件*****注2******formData.append('upload',file.files[0]);*****注1******varxhr=newXMLHttpRequest;xhr.open('post','file.php');//监控上传进度xhr.upload.onprogress=function(ev){//事件对象//console.日志(EV);varpercent=(ev.loaded/ev.total)*100+'%';控制台日志(百分比);progress.style.width=百分比;}xhr.send(formData);xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){//}}}注1:使用jQuery$.ajax({url:'file.php',type:'POST',data:formdata,//上传formdata封装的数据dataType:'JSON',cache:false,//不缓存processData:false,//jQuery不处理发送的数据contentType:false,//jQuery没有设置Content-Type请求头success:function(data){//成功回调console.log(data);}});注2:参数newFormData的参数是DOM对象,不是jQuery对象varformData=newFormData($("#file")[0]);三、jQuery的参数序列化方法serialize()序列的内容tabletable是一个字符串,用于Ajax请求$("form").serialize()