FormData的主要用途有两个:
- 将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。
- 异步上传文件
创建formData对象
// 创建formData数据对象
var formdata=new FormData();
// 追加数据
formdata.append("name","laotie");
// 读取数据
console.log(formdata.get("name"));
// 修改数据
formdata.set("name","laoliu");
// 获取key为age的所有值,返回值为数组类型
formdata.getAll("age"); // ["laoliu", "laoli", "laotie"]
// 判断存在对应key的值
console.log(formdata.has("name")); // true
// 删除数据
formdata.delete("name");
// 发送数据
var formdata=new FormData(document.getElementById("advForm"));
var xhr=new XMLHttpRequest();
xhr.open("post","http://127.0.0.1/adv");
xhr.send(formdata); // 发送
xhr.onload=function(){
if(xhr.status==200){
//...
}
}