Headers: getSetCookie() 方法
注意:此功能在 Web Workers 中可用。
getSetCookie() 方法是 Headers 接口的一个方法,它返回一个数组,其中包含与响应关联的所有 Set-Cookie 标头的值。这使得 Headers 对象能够处理多个 Set-Cookie 标头,这是在其实现之前不可能做到的。
此方法旨在用于服务器环境(例如 Node.js)。根据 Fetch 规范,浏览器会阻止前端 JavaScript 代码访问 Set-Cookie 标头,该规范将 Set-Cookie 定义为 禁止的响应标头名称,因此 必须从任何暴露给前端代码的响应中过滤掉。
语法
js
getSetCookie()
参数
无。
返回值
一个字符串数组,代表与响应关联的所有不同的 Set-Cookie 标头的值。
如果没有设置 Set-Cookie 标头,该方法将返回一个空数组([ ])。
示例
如上所述,在客户端运行类似下面的代码将不会返回任何结果——Set-Cookie 从网络获取的 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 |
浏览器兼容性
加载中…