Headers.append()

Baseline Widely available

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

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

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

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

语法

js
append(name, value)

参数

name

要追加给 Headers 对象的 HTTP header 名称。

value

要追加给 Headers 对象的 HTTP header 值。

返回

Void.

例程

创建一个空的 Headers 对象:

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

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

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

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

js
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

参见