FormData
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 for...of
em vez de 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
Construtor
FormData()
- Cria um novo objeto
FormData
.
Métodos
FormData.append
- Acrescenta um novo valor em uma chave existente dentro de um objeto
FormData
, ou adiciona a chave se ela ainda não existir. FormData.delete
- Apaga um par chave/valor de um objeto
FormData
. FormData.get
- Retorna o primeiro valor associado com uma dada chave de dentro de um objeto
FormData
. FormData.getAll
- Retorna uma matriz de todos os valores associados a uma determinada chave de dentro de um
FormData
. FormData.has
- Retorna um valor boleano indicando se um objeto
FormData
contém um certo par chave/valor. FormData.set
- Define um novo valor para uma chave existente dentro de um objeto
FormData
, ou adiciona a chave/valor se ele ainda não existir.
Nota: Para ser claro, a diferença entre FormData.set()
e FormData.append()
é que, se a chave especificada não existir, FormData.set()
irá substituir o valor existente por um novo, enquanto FormData.append()
irá acrescentar um novo valor no final dos valores existentes. Veja as suas páginas dedicadas para código de exemplo.
Especificações
Especificação | Status | Comentário |
---|---|---|
XMLHttpRequest The definition of 'FormData' in that specification. |
Padrão em tempo real | FormData definido na especificação XHR |
Compatibilidade com navegadores
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Suporte básico | 3.0 | ? | 4.0 (2.0) | 1.0.1 | ? |
12+ |
? |
append com filename | ? | ? | 22.0 (22.0) | 1.2 | ? | ? | ? |
delete, get, getAll, has, set | (Yes) | (Yes) | Não suportado | Não suportado | Não suportado | (Yes) | Não suportado |
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".
Notas da Gecko
Antes do Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4), se você especificasse um 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.