--- 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
.