1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
---
title: FormData.set()
slug: Web/API/FormData/set
translation_of: Web/API/FormData/set
---
<p>{{APIRef("XMLHttpRequest")}}</p>
<p>O método <code><strong>set()</strong></code> da interface {{domxref("FormData")}} adiciona o novo valor para um chave existente em um objeto <code>FormData</code>, ou adicionar a combinação chave/valor caso ela não exista.</p>
<p>A diferença entre <code>set()</code> e {{domxref("FormData.append")}} é que, se a chave especificada já existir, <code>set()</code> irá sobrescrever todos os valores existentes pelo novo valor, enquanto o {{domxref("FormData.append")}} apenas acrescenta o novo valor ao conjunto de valores existentes.</p>
<div class="note">
<p><strong>Nota</strong>: Esse método está disponível em <a href="/en-US/docs/Web/API/Web_Workers_API">Web Workers</a>.</p>
</div>
<h2 id="Sintaxe">Sintaxe</h2>
<p>Existem duas versões desse método: uma com dois e outra com três parâmetros:</p>
<pre class="brush: js">formData.set(name, value);
formData.set(name, value, filename);</pre>
<h4 id="append()_Parameters" name="append()_Parameters">Parâmetros</h4>
<dl>
<dt><code>name</code></dt>
<dd>O nome do campo cujo dado está em <code>value</code>.</dd>
<dt><code>value</code></dt>
<dd>O valor do campo. Na versão de dois parâmetros, esse é um {{domxref("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")}}, {{domxref("File")}}, ou um {{domxref("USVString")}}. Se nenhum desses valores forem especificados, o valor será convertido para string.</dd>
<dt><code>filename </code>{{optional_inline}}</dt>
<dd>O nome do arquivo a ser enviado (um {{domxref("USVString")}}), quando um {{domxref("Blob")}} ou um {{domxref("File")}} é passdo como o segundo parâmetro. O nome de arquivo padrão para objetos do tipo {{domxref("Blob")}} é "blob".</dd>
</dl>
<div class="note">
<p><strong>Nota:</strong> Se você especificar um {{domxref("Blob")}} como o dado a ser acrescentado ao objeto <code>FormData</code>, o nome do arquivo que será enviado para o servidor, enviado no atributo "Content-Disposition" no cabeçalho varia de navegador para navegador.</p>
</div>
<h2 id="Exemplo">Exemplo</h2>
<p>A linha a seguir cria um objeto <code>FormData</code> vazio:</p>
<pre class="brush: js">var formData = new FormData(); // Currently empty</pre>
<p>Você pode adicionar os pares chave/valor usando (domxref("FormData.set")}}:</p>
<pre class="brush: js">formData.set('username', 'Chris');
formData.set('userpic', myFileInput.files[0], 'chris.jpg');</pre>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Status</th>
<th scope="col">Comentário</th>
</tr>
<tr>
<td>{{SpecName('XMLHttpRequest','#dom-formdata-set','set()')}}</td>
<td>{{Spec2('XMLHttpRequest')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_de_navegador">Compatibilidade de navegador</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Característica</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>{{CompatChrome(50.0)}}</td>
<td>{{CompatGeckoDesktop("39.0")}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
</tr>
<tr>
<td>DIsponível para web workers</td>
<td>{{CompatChrome(50.0)}}</td>
<td>{{CompatGeckoDesktop("39.0")}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Característica</th>
<th>Android</th>
<th>Android Webview</th>
<th>Firefox Mobile (Gecko)</th>
<th>Firefox OS (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
<th>Chrome for Android</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>{{CompatNo}}</td>
<td>{{CompatChrome(50.0)}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatNo}}</td>
<td>
<p>{{CompatNo}}</p>
</td>
<td>{{CompatNo}}</td>
<td>{{CompatChrome(50.0)}}</td>
</tr>
<tr>
<td>DIsponível para web workers</td>
<td>{{CompatNo}}</td>
<td>{{CompatChrome(50.0)}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatChrome(50.0)}}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="Ver_também">Ver também</h2>
<ul>
<li>{{domxref("XMLHTTPRequest")}}</li>
<li><a href="/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest" title="Using XMLHttpRequest">Usando XMLHttpRequest</a></li>
<li><a href="/en-US/docs/DOM/XMLHttpRequest/FormData/Using_FormData_Objects" title="DOM/XMLHttpRequest/FormData/Using_FormData_objects">Usando objetos FormData</a></li>
<li>{{HTMLElement("Form")}}</li>
</ul>
|