gpt4 book ai didi

javascript - 以 JSON 格式创建 res.cookie 并将值作为对象

转载 作者:行者123 更新时间:2023-11-30 17:56:42 31 4
gpt4 key购买 nike

我试过像这样创建一个 res.cookie:

function createCookie(res, loginToken, user) {
res.cookie(
'testcookie',
{
'logintoken': loginToken.cookieValue,
'user_id' : user.id,
'username' : user.name
},
{
expires: new Date(Date.now() + 2 * 604800000),
path: '/'
}
);
}

然后当请求进来时,我像这样访问 cookie:

console.log (req.cookies)

我得到这个输出:

 { 
...
testcookie: '[object Object]'
}

如果我尝试这样做:

  JSON.parse(testcookie)     // it errors not not being a valid JSON object
JSON.stringify(testcookie) // does not help either.

我如何在 JSON 对象中发送 res.cookie,我可以在从 req 对象读取后稍后解析?

请指点?

最佳答案

Object 传递给 res.cookie() 并将其自动字符串化为 JSON 的选项是 new feature of Express 3.x .

对于 Express 2.x,您需要在创建 cookie 时自行stringify:

function createCookie(res, loginToken, user) {
var jsonValue = JSON.stringify({
'logintoken': loginToken.cookieValue,
'user_id' : user.id,
'username' : user.name
});

res.cookie(
'testcookie',
jsonValue,
{
expires: new Date(Date.now() + 2 * 604800000),
path: '/'
}
);
}

并且可能还必须自己解析它:

var testcookie = JSON.parse(req.cookies.testcookie);

关于javascript - 以 JSON 格式创建 res.cookie 并将值作为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17938322/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com