FormData

This translation is incomplete. Please help translate this article from English

XMLHttpRequest 2 добавляет поддержку для нового интерфейса FormData. Объекты FormData позволяют вам легко конструировать наборы пар ключ-значение, представляющие поля формы и их значения, которые в дальнейшем можно отправить с помощью метода send().

FormData использует такой же формат на выходе, как если бы мы отправляли обыкновенную форму с encoding установленным в "multipart/form-data".

Важно: О деталях использования FormData можно прочитать в статье Использование объекта FormData.

Конструктор

FormData()
Создаёт объект FormData.

Методы

FormData.append
Добавляет новое значение существующего поля объекта FormData, либо создаёт его и присваивает значение.
FormData.delete
Удаляет пару ключ-значение из объекта FormData.
FormData.get
Возвращает первое значение ассоциированное с переданным ключом из объекта FormData.
FormData.getAll
Возвращает массив всех значений ассоциированных с переданным ключом из объекта FormData.
FormData.has
Возвращает булево значение касательно наличия в объекте FormData  конкретной пары ключ-значение.
FormData.set
Устанавливает новое значение для существующего ключа объекта FormData, или добавляет пару ключ-значение, если таковой не обнаружено в объекте.

Важно: Разница между FormData.set() и FormData.append() заключается в том, что если указанный ключ найден в объекте, FormData.set() перезапишет его новым значением, тогда как FormData.append() добавит новое значение в конец существующего. Смотрите дополнительные материалы с примерами. 

Спецификация

Спецификация Статус Примечание
XMLHttpRequest
Определение 'FormData' в этой спецификации.
Живой стандарт FormData defined in XHR spec

Совместимость

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
FormDataChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4
Замечания
Полная поддержка 4
Замечания
Замечания Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
IE Полная поддержка 10Opera Полная поддержка 12Safari Полная поддержка 5WebView Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания XHR in Android 4.0 sends empty content for FormData with blob.
Chrome Android Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 12Safari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
FormData() constructorChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 12Safari Полная поддержка 5WebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка 12Safari iOS ? Samsung Internet Android Полная поддержка Да
Support of for...ofChrome Полная поддержка 50Edge Нет поддержки НетFirefox Полная поддержка 44IE ? Opera ? Safari Полная поддержка 11WebView Android Полная поддержка 50Chrome Android Полная поддержка 50Firefox Android Полная поддержка 44Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка 5.0
appendChrome Полная поддержка 7Edge Полная поддержка 12Firefox Полная поддержка 4
Замечания
Полная поддержка 4
Замечания
Замечания Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
IE Полная поддержка 10
Замечания
Полная поддержка 10
Замечания
Замечания With the "Include local directory pass when uploading files to a server" option enabled, IE will change the filename inside the Blob on the fly. To have direct control of the sent filename, the developer should send the filename as the third parameter value, i.e. formData.append(name, value, filename).
Opera Полная поддержка 12Safari Полная поддержка 5WebView Android Полная поддержка 3
Замечания
Полная поддержка 3
Замечания
Замечания XHR in Android 4.0 sends empty content for FormData with blob.
Chrome Android Полная поддержка ДаFirefox Android Полная поддержка 4
Замечания
Полная поддержка 4
Замечания
Замечания Prior to Firefox 7, specifying a Blob as the data to append to the object, the filename reported in the Content-Disposition HTTP header was an empty string, resulting in errors on some servers. Starting with Firefox 7, the filename blob is sent.
Opera Android Полная поддержка 12Safari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Да
deleteChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0
entriesChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 44IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка 50Chrome Android Полная поддержка 50Firefox Android Полная поддержка 44Opera Android Полная поддержка ДаSafari iOS ? Samsung Internet Android Полная поддержка 5.0
getChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0
getAllChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0
hasChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0
keysChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 44IE ? Opera Полная поддержка ДаSafari Полная поддержка 11WebView Android Полная поддержка 50Chrome Android Полная поддержка 50Firefox Android Полная поддержка 44Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка 5.0
setChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 39IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка 11WebView Android Полная поддержка ДаChrome Android Полная поддержка 50Firefox Android Полная поддержка ДаOpera Android Нет поддержки НетSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 5.0
valuesChrome Полная поддержка 50Edge Полная поддержка 18Firefox Полная поддержка 44IE ? Opera ? Safari Полная поддержка 11WebView Android Полная поддержка 50Chrome Android Полная поддержка 50Firefox Android Полная поддержка 44Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка 5.0
Available in workersChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка 39IE Нет поддержки НетOpera Полная поддержка ДаSafari Нет поддержки НетWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Полная поддержка ДаOpera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Да

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Смотрите замечания реализации.
Смотрите замечания реализации.

Смотри также