FormData.set()

O método set() da interface FormData adiciona o novo valor para um chave existente em um objeto FormData, ou adicionar a combinação chave/valor caso ela não exista.

A diferença entre set() e FormData.append é que, se a chave especificada já existir, set() irá sobrescrever todos os valores existentes pelo novo valor, enquanto o FormData.append apenas acrescenta o novo valor ao conjunto de valores existentes.

Nota: Esse método está disponível em Web Workers.

Sintaxe

Existem duas versões desse método: uma com dois e outra com três parâmetros:

js
formData.set(name, value);
formData.set(name, value, filename);

Parâmetros

name

O nome do campo cujo dado está em value.

value

O valor do campo. Na versão de dois parâmetros, esse é um USVString (en-US), e caso não seja, ele é convertido para uma string. Na versão de três parâmetros ele pode ser um {domxref("Blob")}}, File, ou um USVString (en-US). Se nenhum desses valores forem especificados, o valor será convertido para string.

filename Optional

O nome do arquivo a ser enviado (um USVString (en-US)), quando um Blob ou um File é passdo como o segundo parâmetro. O nome de arquivo padrão para objetos do tipo Blob é "blob".

Nota: Se você especificar um Blob como o dado a ser acrescentado ao objeto FormData, o nome do arquivo que será enviado para o servidor, enviado no atributo "Content-Disposition" no cabeçalho varia de navegador para navegador.

Exemplo

A linha a seguir cria um objeto FormData vazio:

js
var formData = new FormData(); // Currently empty

Você pode adicionar os pares chave/valor usando (domxref("FormData.set")}}:

js
formData.set("username", "Chris");
formData.set("userpic", myFileInput.files[0], "chris.jpg");

Especificações

Specification
XMLHttpRequest Standard
# dom-formdata-set

Compatibilidade com navegadores

BCD tables only load in the browser

Ver também