FormData.set() - Web API 接口参考 编辑
set()
方法会对 FormData
对象里的某个
key
设置一个新的值,如果该
key
不存在,则添加。
set()
和 FormData.append
不同之处在于:如果某个 key 已经存在,set()
会直接覆盖所有该 key 对应的值,而 FormData.append
则是在该 key 的最后位置再追加一个值。
注意: 该方法在 Web Workers 可用。
语法
该方法有两种使用方式,一个是传入两个参数,一个是传入三个参数。
formData.set(name, value);
formData.set(name, value, filename);
参数
name
- 字段名称。
value
- 字段的值,如果是传入两个参数的方式,那么该值是一个
USVString
,如果不是,将被转成一个字符串。如果是传入三个参数的方式,那么该值将是一个布尔值(Blob
),文件(File
),或者一个USVString
,如果不是,将被转成一个字符串。 filename
可选- 当第二个参数传递的是一个blob对象(
Blob
)或者file对象(File
),filename参数就代表传给服务端的文件名(一个USVString
)。Blob
对象的默认文件名是 "blob"。
注意: 如果对 FormData 对象插入一个blob对象( Blob
),那么发送给服务器的请求头部(header) 里的 “Content-Disposition” 里的文件名称将会根据浏览器的不同而不同。
示例
先创建一个空的 FormData
对象:
var formData = new FormData(); // Currently empty
使用 FormData.set
设置键/值 :
formData.set('username', 'Chris');
formData.set('userpic', myFileInput.files[0], 'chris.jpg');
规范
规范 | 状态 | 说明 |
---|---|---|
XMLHttpRequest set() | Living Standard |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 50.0 | 39.0 (39.0) | 未实现 | 未实现 | 未实现 |
Available in web workers | 50.0 | 39.0 (39.0) | 未实现 | 未实现 | 未实现 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | 未实现 | 50.0 | (Yes) | (Yes) | 未实现 | 未实现 | 未实现 | 50.0 |
Available in web workers | 未实现 | 50.0 | (Yes) | (Yes) | 未实现 | 未实现 | 未实现 | 50.0 |
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论