FormData使用介绍XMLHttpRequestLevel2添加了一个新接口FormData。使用FormData对象,我们可以通过JavaScript模拟一系列具有一些键值对的表单控件,也可以使用XMLHttpRequest()方法的send来异步提交这个“表单”。与普通的ajax相比,使用FormData最大的优势就是我们可以异步上传一个二进制文件。使用FormData对象来组合一组键/值对,以便使用XMLHttpRequest发送请求。发送表单数据可以更加灵活方便,因为它可以独立于表单使用。如果设置表单的编码类型为multipart/form-data,则通过FormData传输的数据格式与表单的submit()方法传输的数据格式相同。构造函数varformData=newFormData(FormElement);这里的FormElement是作为form表单的html元素;当然,你也可以不填写表单元素,直接构造表单元素。填写表单元素的目的是直接在表单中选择表单元素的名称和值,因为formData添加了键值对。添加append():向当前formData对象添加一个键/值对。append(DOMStringname,Blobvalue,optionalDOMStringfilename);append(DOMStringname,DOMStringvalue);name:字段名,也就是键名;value:字段值,可以是Blob对象、File对象、字符串等,该值会自动转为字符串;filename:(可选)指定文件的文件名,当value参数指定为Blob对象或File对象时,文件名将发送到服务器上,对于Blob对象,该值默认为“blob”.将添加了键值对的formData对象直接作为ajax请求传入的参数发送。如果你的请求成功,你会看到formData会生成form中所有的formnames和values如图:示例代码html
