MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

FormData

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

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

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

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

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

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