标题:getSetCookie() 方法

注意:此功能在 Web 工作线程 中可用。

Headers 接口的 getSetCookie() 方法返回一个数组,其中包含与响应关联的所有 Set-Cookie 标头的值。这允许 Headers 对象处理多个 Set-Cookie 标头,这在其实现之前是不可能的。

此方法旨在用于服务器环境(例如 Node.js)。浏览器阻止前端 JavaScript 代码访问 Set-Cookie 标头,这是 Fetch 规范的要求,该规范将 Set-Cookie 定义为 禁止的响应标头名称,它 必须从公开给前端代码的任何响应中过滤掉

语法

js
getSetCookie()

参数

无。

返回值

一个字符串数组,表示与响应关联的所有不同 Set-Cookie 标头的值。

如果未设置任何 Set-Cookie 标头,则该方法将返回一个空数组 ([ ])。

示例

如上所述,在客户端运行以下代码将不会返回任何结果 - Set-Cookie 会从 Headers 中过滤掉,这些 Headers 通过网络获取。

js
fetch("https://example.com").then((response) => {
  console.log(response.headers.getSetCookie());
  // No header values returned
});

但是,以下代码可用于查询多个 Set-Cookie 值。这在服务器上更有用,但它也将在客户端上运行。

js
const headers = new Headers({
  "Set-Cookie": "name1=value1",
});

headers.append("Set-Cookie", "name2=value2");

headers.getSetCookie();
// Returns ["name1=value1", "name2=value2"]

规范

规范
Fetch 标准
# dom-headers-getsetcookie

浏览器兼容性

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

另请参阅