express session如何存到cookie里面,session的值也取不到
在我的控制台可以看见(chrome)
set-cookie:connect.sid=s%3AmmT6Om_AeH_4xyfK1lnN2Slbq8Ue5hI0.okHi82UORbpwOpz8YX2zDtsnR4FKAjcZXTjAQ1b7Cwk; Path=/; Expires=Fri, 29 Sep 2017 09:34:13 GMT; HttpOnly
但是在cookie中找不到,这是为什么啊?
var session = require('express-session');
var cookieParser = require('cookie-parser');
app.use(cookieParser("keyboard cat"))
app.use(session({
secret: 'keyboard cat',
cookie: ({ maxAge: 60000 }),
resave: false,
saveUninitialized: true
}))
怎么样才能保存到cookie里面去啊,需要从前端获取然后再向cookie保存吗
session的值也取不到呀
app.post('/api/user/login', function (req, res) {
let name=req.body.name
let pwd =req.body.pwd
db.userModel.findOne({name: req.body.name}, function(err, doc){
if(!err){
if(!doc){
res.json({code:100})//账号不存在
return
}else{
if(pwd != doc.pwd){
res.json({code:200})//密码不正确
return
}else{
res.json({code:300})//登录成功
req.session.name=name
console.log(req.session.name)
}
}
}else{
alert('internet err')
}
})
})
app.post('/api/user/signup', function (req, res) {
if(req.session.name){
console.log(req.session.name)
}else{
console.log('shibai')
}
})
第一个console能正常打印 下面signup里面就是直接打印了失败,取不到req.session.name的值,前端端口在 8080 node 在8889 mongodb在 27017 跨域是前端配置的proxy。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
/api/user/login
,看看res的header里面的东西,正常来讲应该是有JSESSIONID
这个cookie的,如果没有那就是node服务都有问题咯credentials
你先检测一下那么是否有值,你数据库返回的结果是doc....如果是要存name也应该是doc.name吧,如果想要存入cookie 最好是先生成cookie,再通过cookie生成session,中途记得要加密..