FormData: set() 方法

注意: 此功能在 Web Workers 中可用。

set() 方法是 FormData 接口的方法,用于在 FormData 对象中设置现有键的新值,或者在键不存在时添加键值对。

set()append() 的区别在于,如果指定键已经存在,set() 将用新值覆盖所有现有值,而 append() 将在新值后面追加现有值集。

语法

js
set(name, value)
set(name, value, filename)

参数

name

包含在 value 中的数据所属字段的名称。

value

字段的值。可以是字符串或 Blob(包括 File 等子类)。如果未指定任何这些值,则该值将被转换为字符串。

filename 可选

当将 BlobFile 作为第二个参数传递时,向服务器报告的文件名(字符串)。Blob 对象的默认文件名是 "blob"。 File 对象的默认文件名是该文件的文件名。

注意: 如果将 Blob 指定为要追加到 FormData 对象的数据,则向服务器报告的 "Content-Disposition" 标头中的文件名在不同浏览器之间可能有所不同。

返回值

无 (undefined).

示例

js
formData.set("username", "Chris");

当值为 Blob(或 File)时,可以使用 filename 参数指定其名称

js
formData.set("userpic", myFileInput.files[0], "chris.jpg");

如果该值不是字符串或 Blob,则 set() 将自动将其转换为字符串

js
formData.set("name", 72);
formData.get("name"); // "72"

规范

规范
XMLHttpRequest 标准
# dom-formdata-set

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅