--- title: FormData.set() slug: Web/API/FormData/set translation_of: Web/API/FormData/set ---
{{APIRef("XMLHttpRequest")}}
set()
方法会对 FormData
对象里的某个
key
设置一个新的值,如果该
key
不存在,则添加。
set()
和 {{domxref("FormData.append")}} 不同之处在于:如果某个 key 已经存在,set()
会直接覆盖所有该 key 对应的值,而 {{domxref("FormData.append")}} 则是在该 key 的最后位置再追加一个值。
注意: 该方法在 Web Workers 可用。
该方法有两种使用方式,一个是传入两个参数,一个是传入三个参数。
formData.set(name, value); formData.set(name, value, filename);
name
value
filename
{{optional_inline}}注意: 如果对 FormData 对象插入一个blob对象( {{domxref("Blob")}}),那么发送给服务器的请求头部(header) 里的 “Content-Disposition” 里的文件名称将会根据浏览器的不同而不同。
先创建一个空的 FormData
对象:
var formData = new FormData(); // Currently empty
使用 {{domxref("FormData.set")}} 设置键/值 :
formData.set('username', 'Chris'); formData.set('userpic', myFileInput.files[0], 'chris.jpg');
规范 | 状态 | 说明 |
---|---|---|
{{SpecName('XMLHttpRequest','#dom-formdata-set','set()')}} | {{Spec2('XMLHttpRequest')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatChrome(50.0)}} | {{CompatGeckoDesktop("39.0")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Available in web workers | {{CompatChrome(50.0)}} | {{CompatGeckoDesktop("39.0")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatChrome(50.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} |
{{CompatNo}} |
{{CompatNo}} | {{CompatChrome(50.0)}} |
Available in web workers | {{CompatNo}} | {{CompatChrome(50.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatChrome(50.0)}} |