老师请问退出登陆的处理
来源:10-8 express处理session
hpbrave
2021-07-03
我搜了一下问答里其他关于“退出登陆”的回答,还是有地方不太明白。
这是我服务器端的代码:
router.post('/logout', loginCheck, function(req, res, next){
req.session = {};
req.cookies = {};
console.log('backend logout');
console.log(req.session);
res.json(
new SuccessModel()
)
})
是不是把session设为空以后,res.json就发不出东西了 呢?前端也确实收不到回应。
这是我前端的代码:
$('#logoutBtn').click((event)=>{
const url = '/api/user/logout';
post(url).then(res => {
if(res.errno == 0){
location.href = '/index.html'; //跳转到登陆页面
console.log('log out successfully')
}else{
console.log('logout failed')
}
})
location.href = '/index.html';
});
页面跳转到index.html之后,不知道如何判断是否真的退出登陆了呢?我把登陆以后的cookie中的connect.sid的值和退出以后的值比较了一下,一模一样,感觉好像并没有退出。。
这是跳转到index.html以后,http请求中的内容
这是浏览器收到的api/user/logout的request和response
非常感谢。
这个问题解决了,服务器端代码更正如下:
router.post('/logout', loginCheck, function(req, res, next){
req.session.username = '';
res.json(
new SuccessModel()
)
})
直接把req.session设为空不行,要specifically把里面的username设为空才行。
写回答
2回答
-
双越
2021-07-10
接口报错了,504 一般是服务端连接其他服务(如数据库)超时了
052021-07-27 -
双越
2021-07-03
前端收不到回应,你看下 chrome devTools 的 http 请求返回了什么?截图我看下
052021-07-10
相似问题