--- title: FormData slug: Web/API/FormData translation_of: Web/API/FormData ---
{{APIRef("XMLHttpRequest")}}
A interface FormData
fornece uma maneira fácil de construir um conjunto de pares chave/valor representando campos de um elemento form
e seus valores, os quais podem ser facilmente enviados utilizado o método send()
do XMLHttpRequest. Essa interface utiliza o mesmo formato que um form
utilizaria se o tipo de codificação estivesse configurado como "multipart/form-data".
Um objeto FormData
pode ser usado diretamente em uma estrutura {{jsxref("Statements/for...of", "for...of")}} em vez de {{domxref('FormData.entries()', 'entries()')}}: for (var p of myFormData)
é o mesmo que for (var p of myFormData.entries())
.
Nota: Esse recurso está disponível em https://developer.mozilla.org/pt-BR/docs/Web/API/Web_Workers_API
FormData
.FormData
, ou adiciona a chave se ela ainda não existir.FormData
.FormData
.FormData
.FormData
contém um certo par chave/valor.FormData
, ou adiciona a chave/valor se ele ainda não existir.Nota: Para ser claro, a diferença entre {{domxref("FormData.set()")}} e {{domxref("FormData.append()")}} é que, se a chave especificada não existir, {{domxref("FormData.set()")}} irá substituir o valor existente por um novo, enquanto {{domxref("FormData.append()")}} irá acrescentar um novo valor no final dos valores existentes. Veja as suas páginas dedicadas para código de exemplo.
Especificação | Status | Comentário |
---|---|---|
{{SpecName('XMLHttpRequest','#interface-formdata','FormData')}} | {{Spec2('XMLHttpRequest')}} | FormData definido na especificação XHR |
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suporte básico | 7+ | {{CompatGeckoDesktop("2.0")}} | 10+ | 12+ | 5+ |
append com filename | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("22.0")}} | 10+ | {{CompatUnknown}} | {{CompatUnknown}} |
delete, get, getAll, has, set | Behind Flag | {{CompatNo}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Suporte básico | 3.0 | {{CompatUnknown}} | {{CompatGeckoMobile("2.0")}} | 1.0.1 | {{CompatUnknown}} |
12+ |
{{CompatUnknown}} |
append com filename | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoDesktop("22.0")}} | 1.2 | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
delete, get, getAll, has, set | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatNo}} |
Nota: XHR in Android 4.0 envia conteúdo vazio para o FormData com blob.
Nota: Suporte do Chrome aos métodos que não seja append está atualmente atrás da bandeira "Enable Experimental Web Platform Features".
Antes do Gecko 7.0 {{geckoRelease("7.0")}}, se você especificasse um {{domxref("Blob")}} como o dado a ser anexado ao objeto, o nome do arquivo relatado no cabeçalho HTTP "Content-Disposition" era uma string vazia; isso resultou em erros sendo relatados por alguns servidores. Começando em Gecko 7.0, o nome do arquivo "blob" é enviado.