【发布时间】:2019-06-08 23:08:41
【问题描述】:
我试图在我的响应对象之后使用 state 方法在我的路由处理程序下创建一个 cookie,但 cookie 没有以任何方式出现。即使在 hapijs 网站上粘贴许多示例也不起作用。
我的 index.js:
const Hapi = require('hapi')
const server = new Hapi.Server
({
host: 'localhost',
port: 8000
})
server.route({
method: 'GET',
path: '/',
config: {
handler: (request, h) => {
return h.response(`Cookie!`).state('cookie-name', 'cookie-value');
}
}
})
async function start() {
await server.start();
console.log(`Server started at ${ server.info.uri }`);
}
start();
我希望 'cookie-name' 出现在开发者控制台中的 'name' 下,以及 'cookie-value' 作为 'value' 出现。什么都没有显示,我在刷新本地主机时收到此错误消息:
Debug: internal, implementation, error
Error: Invalid cookie value: [object Object]
at exports.Definitions.internals.Definitions.internals.Definitions.format (/Users/cayden/Documents/egghead/introduction-to-node-servers-with-hapijs/lessons/12-hapi.js-managing-state-with-cookies/node_modules/hapi/node_modules/statehood/lib/index.js:361:24)
at process._tickCallback (internal/process/next_tick.js:68:7)
以我的方式建立 cookie 与我在他们的网站上看到的一个示例很接近。我错过了什么导致我的代码不生成 cookie?
【问题讨论】:
标签: javascript hapijs