AkiraZ's blog

愿键盘的余温传递到更遥远的将来

中文 / English
0%

FormData 对象

FormData 对象

Formdata 对象通常放在 post 请求的 data 位置,用来以表单形式提交数据,

1
2
3
4
5
$.ajax({
url: "stash.php",
type: "POST",
data: fd,
});

了解了一下 FormData 对象的一些方法,做个记录

对象方法

1
const fd = new FormData();

append

1
2
3
4
5
6
7
8
9
10
11
fd.append((name, value[, file_name]);

// 会自动转为字符串
// 可以持续对一个 name 添加,可以形成一个数组
// 也可以添加文件用来上传,会转成 blob
fd.append('k1', 1);
fd.append('k1', undefined);
fd.append('k1', null);

fd.get('k1'); // '1'
fd.getAll('k1'); // ['1', 'undefined', 'null']

set

1
2
3
4
5
6
7
fd.set(name, value[, file_name]);

// 直接覆盖原来的值
fd.set('k1', 2);

fd.get('k1'); // '2'
fd.getAll('k1'); // ['2']

delete

1
2
3
4
5
6
7
fd.delete(name);

// 删除这个键
fd.delete('k1');

fd.get('k1'); // null
fd.getAll('k1'); // []

get, getAll

1
2
3
4
5
fd.get(name);
fd.getAll(name);

// get 返回第一个值
// getAll 返回这个键对应的所有值的数组

has

1
2
3
fd.has(name);

// 有/无 键 true / false

keys, values, entries

类似 Object 的方法,只不过返回的不是数组而是迭代器

forEach

类似数组,对值进行遍历