We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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() добавит новое значение в конец существующего. Смотрите дополнительные материалы с примерами. 

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

Specification Status Comment
XMLHttpRequest
Определение 'FormData' в этой спецификации.
Живой стандарт FormData defined in XHR spec

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

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!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 7+ 4.0 (2.0) 10+ 12+ 5+
append with filename (Да) 22.0 (22.0) ? ? ?
delete, get, getAll, has, set (Да) Нет Нет (Да) Нет
Feature Android Chrome for Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 3.0 ? 4.0 (2.0) 1.0.1 ?

12+

?
append with filename ? ? 22.0 (22.0) 1.2 ? ? ?
delete, get, getAll, has, set (Да) (Да) Нет Нет Нет (Да) Нет

Note: XHR in Android 4.0 sends empty content for FormData with blob.

Gecko notes

Prior to Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4), if you specified a Blob as the data to append to the object, the filename reported in the "Content-Disposition" HTTP header was an empty string; this resulted in errors being reported by some servers. Starting in Gecko 7.0, the filename "blob" is sent.

See also

Метки документа и участники

Внесли вклад в эту страницу: Sergey.Stolnikov, torbasow, blade091
Обновлялась последний раз: Sergey.Stolnikov,