我在检查并设置中间件中的几个cookie之后点击路由。点击路由后,在处理程序内部,我试图访问上述设置的cookie,但响应对象没有这些设置cookie的访问者。在响应对象中访问设置Cookie
# similar to req.cookies.cookie_name to access cookies sent by the client
stored_value = res.cookies.cookie_name # this method doesn't exist
响应对象公开getHeader方法,使用我附着在response.getHeader一个简单的cookie解析器(“设置Cookie”)到响应对象。
app.use (req, res, next) ->
#
# returns a hash of cookie_name: cookie_value,
# or cookie_value if cookie_name is sent as an argument
#
res.jit_cookies = (cookie_name) ->
cookies = {}
for cookie in this.getHeader('Set-Cookie')
tokens = cookie.split(';')[0].split('=')
cookies[tokens[0]] = tokens[1]
if cookie_name? then cookies[cookie_name] else cookies
next()
因此,现在我可以访问cookie,我可以在任何地方访问响应对象。
res.jit_cookies() # returns a hash of all cookies set
res.jit_cookies('lang') # returns the value of the 'lang' cookie
我使用cookies来响应的状态势必会被很多地方以后访问响应对象。
这可以吗?是否有其他(和更好的)方法来跟踪和访问我试图使用Cookie的相同信息?
是的,但那是访问客户端发送的cookie。 我要求能够在请求发出后访问服务器在响应中设置的cookie。 – Rahul 2014-11-04 04:37:07