經過formData對象能夠組裝一組用XMLHttpRequest發送請求的鍵/值對。它能夠更靈活方便的發送表單數據,由於能夠獨立於表單使用。若是把表單的編碼類型設置爲multipart/form-data,則經過FormData傳輸的數據php
格式和經過表單sumbit()方法傳輸的數據格式相同app
var formData = new FormData(); formData.append("username", "XXXXX");
FormData對象的字段類型能夠是Blob,File,或者是String,若是不是Bold和File,formData.append()會把它轉換成字符串類型
想要構造一個包含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)----二進制大對象,是一個能夠存儲二進制文件的容器