--- title: FormData.append() slug: Web/API/FormData/append translation_of: Web/API/FormData/append ---

{{APIRef("XMLHttpRequest")}}

O método append()  da Interface {{domxref("FormData")}}  adiciona um novo valor dentro de uma chave existente dentro do objeto FormData ou  adiciona a  chave caso ainda não exista.

A diferença entre  {{domxref("FormData.set")}} e append() é que se uma  chave específica já exista, {{domxref("FormData.set")}} irá substituir o valor existente com um novo valor, já o append() irá adicionar um novo valor no fim do conjunto de valores.

Nota: Este  metodo esta desponivel no Web Workers.

Sintaxe

Existe duas versoes deste metodo: um de dois e um outro de tres:

formData.append(name, value);
formData.append(name, value, filename);

Parametros

name
O nome do campo cujos dados estão contidas em value.
value
O valor deste campo . Nas duas versões este é a {{domxref("USVString")}}, ou  caso não seja , este é convertido em string. Na versão de tres parametros este pode ser {{domxref("Blob")}}, {{domxref("File")}}, ou  {{domxref("USVString")}}, de novo, caso nenhum deses forem especificados  este valor é convertido em uma string.
filename {{optional_inline}}
O filename reporta para o servidor (a {{domxref("USVString")}}), quando a {{domxref("Blob")}} ou {{domxref("File")}} é passado como o segundo parametro. O default filename para  {{domxref("Blob")}} o objecto é "blob".

Nota: Se espisificares  {{domxref("Blob")}} como a data append  para o objecto FormData , o filename a ser reportado para o servidor  no "Content-Disposition" header usado para mudar de browser em browser.

Retorna

Void.

Exemplo

As seguintes linhas criam um Objecto FormData vazio:

var formData = new FormData(); // Corrente vazio

Podes adicionar chaves/valores pares para usar (domxref("FormData.append")}}:

formData.append('username', 'Chris');
formData.append('userpic', myFileInput.files[0], 'chris.jpg');

Especificações

Especificações Estato Comentario
{{SpecName('XMLHttpRequest','#dom-formdata-append','append()')}} {{Spec2('Fetch')}}  

Compatibilidade com navegadores

{{CompatibilityTable}}
Caracteristicas Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte Basico 7+ {{CompatGeckoDesktop("2.0")}} 10+ 12+ 5+
append com filename {{CompatVersionUnknown}} {{CompatGeckoDesktop("22.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Disponivel para Desenvolvedores Web {{CompatVersionUnknown}} {{CompatGeckoDesktop("39.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Caracteristicas Android Chrome para Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 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}}
Disponivel para Desenvolvedores Web {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoDesktop("39.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Nota: XHR em  Android 4.0 envia conteudo vazio  para FormData com blob.

Notas Gecko

Antis do Gecko 7.0 {{geckoRelease("7.0")}}, se especificares {{domxref("Blob")}} como a conteudo a ser  adicionado ao objecto, o filename reportado no "Content-Disposition" HTTP header era um string vazio; este resulta em  erros sendo reportados por alguns servidores. Começando com Gecko 7.0, o filename "blob" é enviado.

Veja Tambem