Headers.append()

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

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

因为安全性原因,一些 headers 仅受用户代理控制。包括forbidden header namesforbidden response header names

语法

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" ]

要使用新值覆盖旧值,请使用Headers.set

规范

Specification
Fetch Standard
# ref-for-dom-headers-append①

浏览器兼容性

BCD tables only load in the browser

 

参见