Javascript 获取express编码的cookie作为标头值

Javascript 获取express编码的cookie作为标头值,javascript,node.js,cookies,session-cookies,Javascript,Node.js,Cookies,Session Cookies,请参阅通讯说明 客户端---POST/登录(还没有cookie)--->节点服务器 节点服务器-->“设置cookie”:“…”->客户端(设置cookie并将其用于下一个请求) 在第一次请求发送到客户端之前,如何获取设置为set cookie头的cookie的编码值 express3.x、cookieParser、expressionsession和mongo作为存储 我试过: 访问req.cookies,但在第一次请求时未填充 因为客户端还没有cookie res.getHeader('se

请参阅通讯说明

  • 客户端---POST/登录(还没有cookie)--->节点服务器
  • 节点服务器-->“设置cookie”:“…”->客户端(设置cookie并将其用于下一个请求)
  • 在第一次请求发送到客户端之前,如何获取设置为set cookie头的cookie的编码值

    express3.x、cookieParser、expressionsession和mongo作为存储

    我试过:

  • 访问
    req.cookies
    ,但在第一次请求时未填充 因为客户端还没有cookie
  • res.getHeader('set-cookie')
    返回未定义的
    ,可能是因为 在express会话调用express route处理程序后设置

  • 在服务器端,即使request.cookie为空,我如何访问处理程序中的set cookie头或响应对象中的cookie值?

    几乎一年后,但您无法访问的原因是,express session和其他中间件使用名为“当响应即将写入头时,执行侦听器。”

    因此,您还必须使用它来修改标题

    var onHeaders = require('on-headers')
    onHeaders(res, function(){
        // knock yourself out
        console.log(res.getHeader('set-cookie'));
    });
    

    侦听器按相反的顺序触发,以便您从该代码(侦听器)中获取值必须尽快在您的代码中进行设置。

    您是尝试在客户端还是服务器端访问代码执行的cookie?如果是客户端,它第一次看到cookie是在响应中。如果是服务器端,请在设置时查看您将/已提交给客户端的头,或者查看从客户端发出的请求中收到的头设置后到达的客户端。感谢您的评论。编辑问题,指定服务器端有问题。问题是当我使用
    res.getHeader('set-cookie')在节点路由处理程序中检查要发送给客户端的头时
    它返回
    未定义的
    。这就是为什么我想知道是否有一些特殊的技巧可以做到这一点。你能把代码贴在设置cookie的地方,以及检查cookie的地方吗。