aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/formdata/index.html
blob: 04968e5f52f05fb9c2b5d5f25f98585582c83131 (plain)
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
---
title: FormData
slug: Web/API/FormData
tags:
  - FormData
  - XMLHttpRequest
translation_of: Web/API/FormData
---
<p>{{APIRef("XMLHttpRequest")}}</p>

<p><strong><code>FormData</code></strong> 接口提供了一种表示表单数据的键值对 <code>key/value</code> 的构造方式,并且可以轻松的将数据通过{{domxref("XMLHttpRequest.send()")}} 方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 <code>"multipart/form-data"</code>,它会使用和表单一样的格式。</p>

<p>如果你想构建一个简单的<code>GET</code>请求,并且通过{{HTMLElement("form")}}的形式带有查询参数,可以将它直接传递给{{domxref("URLSearchParams")}}</p>

<p>实现了 <code>FormData</code> 接口的对象可以直接在{{jsxref("Statements/for...of", "for...of")}}结构中使用,而不需要调用{{domxref('FormData.entries()', 'entries()')}}<code>for (var p of myFormData)</code> 的作用和 <code>for (var p of myFormData.entries())</code> 是相同的。</p>

<div class="note">
<p><strong>注意</strong>:此特性可用于 <a href="/zh-CN/docs/Web/API/Web_Workers_API">Web Workers</a></p>
</div>

<h2 id="构造函数">构造函数</h2>

<dl>
 <dt>{{domxref("FormData.FormData","FormData()")}}</dt>
 <dd>创建一个新的 <code>FormData</code> 对象。</dd>
</dl>

<h2 id="方法">方法</h2>

<dl>
 <dt>{{domxref("FormData.append()")}}</dt>
 <dd>向 <code>FormData</code> 中添加新的属性值,<code>FormData</code> 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。</dd>
 <dt>{{domxref("FormData.delete()")}}</dt>
 <dd>从 FormData 对象里面删除一个键值对。</dd>
 <dt>{{domxref("FormData.entries()")}}</dt>
 <dd>返回一个包含所有键值对的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
 <dt>{{domxref("FormData.get()")}}</dt>
 <dd><code><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">返回在 </span></font>FormData</code> 对象中与给定键关联的第一个值。</dd>
 <dt>{{domxref("FormData.getAll()")}}</dt>
 <dd>返回一个包含 <code>FormData</code> 对象中与给定键关联的所有值的数组。</dd>
 <dt>{{domxref("FormData.has()")}}</dt>
 <dd><code><font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">返回一个布尔值表明 </span></font>FormData</code> 对象是否包含某些键。</dd>
 <dt>{{domxref("FormData.keys()")}}</dt>
 <dd>返回一个包含所有键的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
 <dt>{{domxref("FormData.set()")}}</dt>
 <dd>给 <code>FormData</code> 设置属性值,如果<code>FormData</code> 对应的属性值存在则覆盖原值,否则新增一项属性值。</dd>
 <dt>{{domxref("FormData.values()")}}</dt>
 <dd>返回一个包含所有值的{{jsxref("Iteration_protocols","iterator")}}对象。</dd>
</dl>

<h2 id="规范">规范</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">规范</th>
   <th scope="col">状态</th>
   <th scope="col">备注</th>
  </tr>
  <tr>
   <td>{{SpecName('XMLHttpRequest','#interface-formdata','FormData')}}</td>
   <td>{{Spec2('XMLHttpRequest')}}</td>
   <td>FormData defined in XHR spec</td>
  </tr>
 </tbody>
</table>

<h2 id="浏览器兼容性">浏览器兼容性</h2>



<p>{{Compat("api.FormData")}}</p>

<h2 id="参见">参见</h2>

<ul>
 <li>{{domxref("XMLHTTPRequest")}}</li>
 <li><a href="/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest">Using XMLHttpRequest</a></li>
 <li><a href="/en-US/docs/Web/API/FormData/Using_FormData_Objects">Using FormData objects</a></li>
 <li>{{HTMLElement("Form")}}</li>
</ul>