FormData API
FormData API 接口提供了一种表示表单数据的键值对,并且将数据通过 XMLHttpRequest.send 方法发送出去。
基本用法
const formData = new FormData(form ? :HTMLFormElement);
参数
| 参数 | 说明 | 
|---|---|
| form | (可选)一个 HTML 表单元素,可以包含任何形式的表单控件,包括文件输入框 | 
方法
| 属性 | 说明 | 
|---|---|
| FormData.append() | 为 FormData 添加新的属性值 | 
| FormData.set() | 设置 FormData 中属性值 | 
| FormData.has() | 判断 FormData 中是否包含某个键 | 
| FormData.get() | 获取 FormData 中指定键关联的值 | 
| FormData.getAll(name) | 获取 FormData 中指定键关联的所有值的数组 | 
| FormData.delete() | 删除 FormData 中指定的键值对 | 
| FormData.entries() | 获取 FormData 中所有键值对 | 
| FormData.keys() | 获取 FormData 中键名组成难过的数组 | 
| FormData.values() | 获取 FormData 中键值组成的数组 | 
应用示例
使用已有的表单来初始化一个对象实例。假如现在页面已经有一个表单。
<form id="file" action="" method="post">
  <input type="text" name="name" />名字 <input type="password" name="psw" />密码
  <input type="submit" value="提交" />
</form>
我们可以使用这个表单元素作为初始化参数,来实例化一个 FormData 对象。
// 获取页面已有的一个 form 表单
const form = document.getElementById('file');
// 用表单来初始化
const formData = new FormData(form);
// 我们可以根据 name 来访问表单中的字段
// 获取名字
const name = formData.get('name');
// 获取密码
const psw = formData.get('psw');
// 当然也可以在此基础上,添加其他数据
formData.append('token', 'kshdfiwi3rh');