--- title: Headers.append() slug: Web/API/Headers/append tags: - Append - Headers.append() translation_of: Web/API/Headers/append ---

{{APIRef("Fetch")}}

在一个Headers对象内部,{{domxref("Headers")}}接口的append()方法可以追加一个新值到已存在的headers上,或者新增一个原本不存在的header。

{{domxref("Headers.set")}} 和 append() 两者之间的不同之处在于当指定header是已经存在的并且允许接收多个值时,{{domxref("Headers.set")}}会重写此值为新值,而append()会追加到值序列的尾部。

因为安全性原因,一些headers仅受用户代理控制。包括{{Glossary("Forbidden_header_name", "forbidden header names", 1)}}和{{Glossary("Forbidden_response_header_name", "forbidden response header names", 1)}}。

语法

myHeaders.append(name,value);

参数

name
要追加给Headers对象的HTTP header名称.
value
要追加给Headers对象的HTTP header值.

返回

Void.

例程

创建一个空的Headers对象:

var myHeaders = new Headers(); // Currently empty

可以通过append()方法添加header:

myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.get('Content-Type'); // Returns 'image/jpeg'

如果指定header不存在, append()将会添加这个header并赋值 . 如果指定header已存在并允许有多个值, append()将会把指定值添加到值队列的末尾。

myHeaders.append('Accept-Encoding', 'deflate');
myHeaders.append('Accept-Encoding', 'gzip');
myHeaders.getAll('Accept-Encoding'); // Returns [ "deflate", "gzip" ]

要使用新值覆盖旧值,请使用{{domxref("Headers.set")}}。

规范

Specification Status Comment
{{SpecName('Fetch','#dom-headers-append','append()')}} {{Spec2('Fetch')}}  

浏览器兼容性

{{Compat("api.Headers.append")}}

 

参见