获取快速编码的 cookie 作为标头值
Get express encoded cookie as header value
请参阅通信说明
- 客户端--- POST/login (还没有 cookie) ---> 节点服务器
- 节点服务器---> 'set-cookie' : '...' -> 客户端(设置 cookie 并将其用于下一个请求)
在第一次请求发送到客户端之前,如何获取设置为设置cookie标头的cookie的编码值?
使用 Express 3.x、cookieParser、表达式会话和 mongo 作为存储。
我试过了:
- 访问
req.cookies
,但未在第一个请求中填充因为客户端还没有 cookie。 -
res.getHeader('set-cookie')
返回undefined
也许是因为它在快速会话调用快速路由处理程序后设置。
在服务器端,即使 request.cookie 为空,我如何访问处理程序中的 set-cookie 标头或响应对象中的 cookie 值?
差不多一年后,但无法访问的原因是 express-session 和其他中间件使用一个名为 onHeaders 的包,该包"在响应即将写入标头时执行侦听器"。
所以你也必须使用它来修改标题
var onHeaders = require('on-headers')
onHeaders(res, function(){
// knock yourself out
console.log(res.getHeader('set-cookie'));
});
侦听器以相反的顺序触发,因此要获取此代码(侦听器)的值,必须尽快在您的代码中。
相关文章:
- 在jquery中为显示/隐藏设置cookie
- 按下按钮时保存cookie
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何在Analytics.js中始终了解最新的cookie过期时间
- php httponly cookie在浏览器关闭时被删除
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- Json在完整日历中对数据进行了编码
- CORS-服务器端cookie没有保存在chrome浏览器上
- 如何为后台更改程序代码设置cookie
- 如何从另一个域加载cookie
- 获取快速编码的 cookie 作为标头值
- 浏览器中cookie存储的编码方案
- JSON cookie数据的编码
- 如何在php中编码数组,将其保存为cookie,在js中编辑并再次保存
- Cookie值被编码在document.cookie中
- 使用PHP设置和编码cookie
- 保存为cookie时,JSON编码的数组转换为字符串
- cookie 的 Rails 编码与 JavaScript decodeURIComponent 不兼容
- 如何将cookie值保存为unicode编码
- 在对MS CRM 2013的SOAP调用中按需在fetchxml中编码页面cookie