经过FormData对象能够组装一组用 XMLHttpRequest发送请求的键/值对。它能够更灵活方便的发送表单数据,所以能够独立于表单使用。
若是你把表单的编码类型设置为multipart/form-data ,则经过FormData传输的数据格式和表单经过submit() 方法传输的数据格式相同。
所以:使用FormData对象,和把表单的编码类型设置为multipart/form-data,传输的数据格式相同。
此段文字出处:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objectsphp
FormData对象能够发送的数据格式:
a Blob, File, or a string, if neither, the value is converted to a string
对象和数组,须要先用JSON.stringify转换下。
转换后,数组形式为:["aaa","",""];不然,数组是这样的(逗号分隔的字符串):,,,,数组
建立FormData对象的2种方式(第一种方式,能够不与form表单关联):app
var formData = new FormData(); formData.append("username", "Groucho");
var formData = new FormData(someFormElement);
示例:编码
var formElement = document.querySelector("form"); var request = new XMLHttpRequest(); request.open("POST", "submitform.php"); request.send(new FormData(formElement));