--- title: FormData slug: Web/API/FormData translation_of: Web/API/FormData ---
{{APIRef("XMLHttpRequest")}}
FormData 介面可為表單資料中的欄位/值建立相對應的的鍵/值對(key/value)集合,之後便可使用 {{domxref("XMLHttpRequest.send()")}} 方法來送出資料。它在編碼類型設定為 multipart/form-data 時會採用與表單相同的格式送出。
實作 FormData 的物件可以直接利用 {{jsxref("Statements/for...of", "for...of")}} 語法結構來替代 {{domxref('FormData.entries()', 'entries()')}}:for (var p of myFormData) 等同於 for (var p of myFormData.entries())。
備註:此特性適用於 Web Workers。
FormData 物件。FormData 物件已有的對應鍵上;若該鍵不存在,則為其追加新的鍵。FormData 物件中找到的第一個對應值。FormData 物件中所有對應值的陣列。FormData 物件是否含有指定鍵值對的布林值。FormData 物件已有的鍵設定新值;若該鍵不存在,則為其追加新的鍵。| Specification | Status | Comment |
|---|---|---|
| {{SpecName('XMLHttpRequest','#interface-formdata','FormData')}} | {{Spec2('XMLHttpRequest')}} | FormData defined in XHR spec |
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | {{CompatChrome(7.0)}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("2.0")}}[1] | 10 | 12 | 5 |
| append with filename | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatGeckoDesktop("22.0")}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
delete(), get(), getAll(), has(), set() |
{{CompatChrome(50.0)}} | {{CompatNo}} | {{CompatGeckoDesktop("39.0")}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
entries(), keys(), values(), and support of for...of |
{{CompatChrome(50.0)}} | {{CompatNo}} | {{CompatGeckoDesktop("44.0")}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} |
| Available in web workers | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("39.0")}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
| Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|---|
| Basic support | 3.0[2] | {{CompatVersionUnknown}}[2] | {{CompatVersionUnknown}} | {{CompatGeckoMobile("2.0")}}[1] | 1.0.1 | {{CompatUnknown}} | 12 | {{CompatUnknown}} | {{CompatVersionUnknown}} |
| append with filename | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatGeckoMobile("22.0")}} | 1.2 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} |
delete(), get(), getAll(), has(), set() |
{{CompatVersionUnknown}} | {{CompatChrome(50.0)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatChrome(50.0)}} |
entries(), keys(), values(), and support of for...of |
{{CompatUnknown}} | {{CompatChrome(50.0)}} | {{CompatNo}} | {{CompatGeckoMobile("44.0")}} | 2.5 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatChrome(50.0)}} |
| Available in web workers | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatVersionUnknown}} |
[1] 在 Gecko 7.0 {{geckoRelease("7.0")}} 之前,若把 {{domxref("Blob")}} 設定為物件中的值,則 HTTP 標頭中 "Content-Disposition" 的檔案名稱會是空字串,此行為會被某些伺服器視為錯誤。Gecko 7.0 之後則會將檔名設為 "blob" 送出。
[2] XHR in Android 4.0 sends empty content for FormData with blob.