以值为对象创建JSON格式的res.cookie
creating res.cookie in JSON format with value as object
我试着创建这样的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的选项是Express3.x的一项新功能。
对于Express2.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: '/'
}
);
}
可能还得自己parse
:
var testcookie = JSON.parse(req.cookies.testcookie);
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 更改angularjs中的日期-时间格式
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- 我能得到正确的格式吗
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 将日期和时间转换为UTC格式的日期-Javascript
- Javascript格式UTC日期
- 元素的内容必须由格式正确的字符数据或标记组成
- Datetime格式为Friendly Time.Moment JS输出错误
- 将客户端特定的日期格式返回到服务器MVC4
- 将数字四舍五入到小数点后两位,以设置货币格式
- javascript/jquery将utc转换为短格式的本地时间
- JavaScript生成html格式的密码
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 以值为对象创建JSON格式的res.cookie