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.

备注: 此特性在 Web Worker 中可用。

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

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

出于安全考虑,某些标头只能由用户代理控制。这些标头包括禁止修改的请求标头禁止修改的响应标头

语法

js
append(name, value)

参数

name

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

value

要追加的 HTTP 标头值。

返回值

无(undefined)。

示例

创建一个空的 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
# ref-for-dom-headers-append①

浏览器兼容性

BCD tables only load in the browser

参见