FormData.set()

set() 方法会对 FormData 对象里的某个 key 设置一个新的值,如果该 key 不存在,则添加。

set()FormData.append(FormData 接口的append() 方法 会添加一个新值到 FormData 对象内的一个已存在的键中,如果键不存在则会添加该键。") 不同之处在于:如果某个 key 已经存在,set() 会直接覆盖所有该 key 对应的值,而 `FormData.append则是在该 key 的最后位置再追加一个值。

该方法有两种使用方式,一个是传入两个参数,一个是传入三个参数。

formData.set(name, value);
formData.set(name, value, filename);

name:字段名称。

value:字段的值,如果是传入两个参数的方式,那么该值是一个 [USVString](USVString 对应于所有可能的 unicode标量值序列的集合。),如果不是,将被转成一个字符串。如果是传入三个参数的方式,那么该值将是一个布尔值([Blob]("Blob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。")),文件([File](文件(File) 接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。)),或者一个 USVString,如果不是,将被转成一个字符串。

filename (可选):当第二个参数传递的是一个blob对象([Blob](Blob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。))或者file对象([File](文件(File) 接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。)),filename参数就代表传给服务端的文件名(一个USVString)。Blob对象的默认文件名是 "blob"。

示例:
先创建一个空的 FormData 对象:

var formData = new FormData(); // Currently empty

使用 FormData.set设置键/值 :

formData.set('username', 'Chris');
formData.set('userpic', myFileInput.files[0], 'chris.jpg');
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容