FormData.set()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Nota: This feature is available in Web Workers.

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, 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. Se nenhum desses valores forem especificados, o valor será convertido para string.

filename Optional

O nome do arquivo a ser enviado (um USVString), 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
# dom-formdata-set

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
set

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Ver também