Esta tradução está incompleta. Ajude atraduzir este artigo.
XMLHttpRequest Nivel 2 adiciona suporte para a nova interface FormData. Objetos FormData fornecem uma forma fácil de construir um conjunto de pares chave/valor representando campos de formulário e seus valores, os quais podem ser facilmente enviados utilizando o metodo send() do XMLHttpRequest.
Ele usa o mesmo formato que um form utilizaria se o tipo de codificação estivesse configurado como "multipart/form-data".
Nota: Para detalhes de como usar o objeto FormData, veja Usando objetos do FormData.
Construtor
FormData()- Cria um novo objeto do
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- Returna 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
FormDataconté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. |
Living Standard | FormData definido na especificação XHR |
Compatibilidade com Browser
| Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suporte básico | 7+ | 4.0 (2.0) | 10+ | 12+ | 5+ |
| append com filename | (Yes) | 22.0 (22.0) | ? | ? | ? |
| delete, get, getAll, has, set | Behind Flag | Não suportado | Não suportado | (Yes) | Não suportado |
| 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.

