javascript - 访问前端节点服务器设置的cookie值
问题描述
目前正在使用节点包 coockie 从后端设置 cookie,如下所示
res.setHeader('Set-Cookie', cookie.serialize('token', token, {
maxAge: 60 * 60 * 24 * 7 // 1 week
}));
所以我可以从前端访问令牌,如下所示
var ca = document.cookie.split(';').map(function (x) {
return x.trim().split('=');
}).reduce(function (a, b) {
a[b[0]] = b[1];
return a;
}, {})["token"];
但是当我从后端设置另一个时,第二个不会设置为 cookie。所以作为解决方案,我使用了
res.cookie('refreshtoken', refreshToken, { maxAge: 60 * 60 * 24 * 7 , httpOnly: true });
所以从这里我可以设置任何没有cookie,但问题是无法从前端访问这个cookie。
那么是否可以从后端设置多个 cookie 并从前端访问所有这些
解决方案
httpOnly: true
这告诉浏览器它应该使 cookie 仅对 HTTP 可用(即对客户端 JavaScript 不可用)。
要使用客户端 JS 阅读它,请不要这样做。
改为将值设置为false。
推荐阅读
- python-3.x - 如何在此代码中创建字典列表?
- c# - 无法在 C# 中将 GetValueOrDefault() 用于字典
- javascript - 从 mapbox 绘制在这张地图上的数据点的来源和格式是什么?
- mongodb - 在 MongoDb 中,如何获取单个匹配元素的 max\min\avg\count 出现在嵌入式数组中?
- asp.net-mvc - 验证码 MVC 中未显示验证码刷新按钮
- mongodb - 使用for循环时Mongodb超时
- java - 为什么第二个代码比第一个代码更有效?
- json - 有什么方法可以在 Postman 中自动化 API 测试?
- php - Laravel Eloquent 中的 toSql 方法是否区分大小写?
- php - php 错误日志显示以前文件版本的错误