标头:set() 方法

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本中运行。它自 2017 年 3 月.

报告反馈

注意:此功能在 Web Workers 中可用。

set() 方法是 Headers 接口的方法,它为 Headers 对象中的现有标头设置新值,或者在标头不存在的情况下添加该标头。

set()Headers.append 之间的区别在于,如果指定的标头已存在并接受多个值,则 set() 会用新值覆盖现有值,而 Headers.append 会将新值追加到值集的末尾。

语法

出于安全原因,某些标头只能由用户代理控制。这些标头包括 禁止的标头名称禁止的响应标头名称
set(name, value)

参数

name

要设置新值的 HTTP 标头名称。如果给定名称不是 HTTP 标头的名称,则此方法将抛出 TypeError

value

要设置的新值。

返回值

无 (undefined).

示例

创建空的 Headers 对象很简单

出于安全原因,某些标头只能由用户代理控制。这些标头包括 禁止的标头名称禁止的响应标头名称
const myHeaders = new Headers(); // Currently empty

您可以使用 Headers.append 向其中添加标头,然后使用 set() 为此标头设置新值

出于安全原因,某些标头只能由用户代理控制。这些标头包括 禁止的标头名称禁止的响应标头名称
myHeaders.append("Content-Type", "image/jpeg");
myHeaders.set("Content-Type", "text/html");

如果指定的标头不存在,set() 将创建它并将它的值设置为指定的值。如果指定的标头已存在并且确实接受多个值,set() 将用新值覆盖现有值

出于安全原因,某些标头只能由用户代理控制。这些标头包括 禁止的标头名称禁止的响应标头名称
myHeaders.set("Accept-Encoding", "deflate");
myHeaders.set("Accept-Encoding", "gzip");
myHeaders.get("Accept-Encoding"); // Returns 'gzip'

您需要 Headers.append 将新值追加到值,而不是覆盖它。

规范

规范
Fetch 标准
# ref-for-dom-headers-set①

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参见