【发布时间】:2015-12-16 17:58:06
【问题描述】:
我知道在使用 express 时,可以使用以下代码请求 cookie:
req.get('cookie')
但是,我现在在使用 hapi 服务器请求 cookie 时遇到了一个问题。
请求 cookie 的代码如下:
request.state['COOKIE_NAME']
但是,当服务器渲染我的页面时,我的request.state 始终为空。当客户端请求 cookie 时,没有问题,request.state 填充了 cookie。
在我的服务器文件上,我使用onPreResponse 挂钩如下:
server.ext( 'onPreResponse', ( request, reply ) => {
...
fetch('http://localhost:3000/api/getcookie', {
credentials: 'same-origin',
headers: {'Cookie': request.state['COOKIE_NAME']} // Still empty
})
...
});
hapi 路线是:
{
method: 'GET',
path: '/getcookie',
config: {
auth: false
},
handler: ( request, reply ) => {
console.log('GET COOKIE ROUTE: ', request.state); // <-- this is empty when server rendering
reply({
statusCode: 200,
message: 'get cookie',
data: {
text: request.state
}
})
.code(200);
}
cookie 的设置没有问题,我也可以在客户端上检索它们。问题是当我尝试在服务器上获取 cookie 时。
如果您需要更多信息,请告诉我。
【问题讨论】:
标签: cookies fetch server-side hapijs