FormData: append() 方法
注意:此功能在 Web Workers 中可用。
FormData 接口的 append() 方法用于在 FormData 对象中向现有键添加新值,如果键不存在,则添加该键。
set() 和 append() 的区别在于:如果指定的键已存在,set() 会用新值覆盖所有现有值,而 append() 会将新值添加到现有值集的末尾。
语法
js
append(name, value)
append(name, value, filename)
参数
name-
包含
value中数据的字段的名称。 valuefilename可选-
当
Blob或File作为第二个参数传递时,报告给服务器的文件的名称(字符串)。Blob对象的默认文件名是“blob”。File对象的默认文件名是文件的名称。
注意: 如果您将 Blob 指定为要附加到 FormData 对象的数据,则在“Content-Disposition”标头中报告给服务器的文件名在不同浏览器之间可能有所不同。
返回值
无(undefined)。
示例
js
formData.append("username", "Chris");
当值为 Blob(或 File)时,您可以使用 filename 参数指定其名称。
js
formData.append("user-pic", myFileInput.files[0], "chris.jpg");
与普通表单数据一样,您可以为同一名称附加多个值。
js
formData.append("user-pic", myFileInput.files[0], "chris1.jpg");
formData.append("user-pic", myFileInput.files[1], "chris2.jpg");
如果值不是字符串或 Blob,append() 会自动将其转换为字符串。
js
formData.append("name", true);
formData.append("name", 72);
formData.getAll("name"); // ["true", "72"]
规范
| 规范 |
|---|
| XMLHttpRequest # dom-formdata-append |
浏览器兼容性
加载中…