通过formData对象可以组装一组用XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果把表单的编码类型设置为multipart/form-data,则通过FormData传输的数据
格式和通过表单sumbit()方法传输的数据格式相同
如何创建一个FormData对象
var formData = new FormData();
formData.append("username", "XXXXX");
FormData对象的字段类型可以是Blob,File,或者是String,如果不是Bold和File,formData.append()会把它转换成字符串类型
通过HTML表单创建FormData对象
想要构造一个包含Form表单数据的FormData对象,需要在创建FormData对象时指定表单的元素。
var formData = new FormData(someFormElement);
你还可以在创建一个包含Form表单数据的FormData对象之后和发送请求之前,附加额外的数据到FormData对象里,像这样:
var formElement = document.querySelector("form"); var formData = new FormData(formElement); var request = new XMLHttpRequest(); request.open("POST", "submitform.php"); formData.append("serialnumber", serialNumber++); request.send(formData);
BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器