express的session无法存入cookie,但是在控制台中又显示设置了cookie
控制台中看的到有cookie呀,但是cookie没有存进去,
node部分
app.use(cookieParser("keyboard cat"))
app.use(session({
name:'snat',
secret: 'keyboard cat',
cookie: ({ maxAge: 60000 }),
resave: false,
saveUninitialized: true
}))
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{
console.log('连接超时')
}
})
})
app.post('/api/user/signup', function (req, res) {
if(req.session.name){
console.log(req.session.name)
}else{
console.log('shibai')
}
})
服务端没有问题,登录验证都能进行,第一个req.session.name能正常打印,第二个post就获取不到值了
前台是用的proxy做的跨域,用的fetch发送
onhandleConfirm=()=>{
const form =this.props.form;
const name = form.getFieldValue('user')
const password = form.getFieldValue('password')
fetch('/api/user/login',{
method:"POST",
body: JSON.stringify({
name: name,
pwd: password,
}),
headers: {
'Content-Type': 'application/json'
}
})
.then(function(res){
return res.json()
}).then(function(res){
console.log(res.code)
})
求大神给个思路呀
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我这里的原因找到了,需要设置fetch里的credentials
数据返回过去了才设置
session
这样写