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!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support50.039.0 (39.0)未实现未实现未实现
Available in web workers50.039.0 (39.0)未实现未实现未实现
FeatureAndroidAndroid WebviewFirefox Mobile (Gecko)Firefox OS (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Basic support未实现50.0(Yes)(Yes)未实现

未实现

未实现50.0
Available in web workers未实现50.0(Yes)(Yes)未实现未实现未实现50.0

 

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:144 次

字数:8067

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文