經過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));