标题: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 的浏览器中加载。