This translation is in progress.
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.

