首页 > 解决方案 > 节点js会话销毁不重定向

问题描述

我正在编写登录系统,但是当我单击注销按钮时,网站正在打开同一页面。

<form action="out" method="POST">
    <button type="submit" class="dropdown-item py-3 pr-5">logout</button>
</form>

server.js:

app.post('/out', function(request, response) {
    request.session.destroy();
    response.redirect('/');
});
app.get('/', function(request, response) {
    if (request.session.loggedin) {
        response.sendFile(path.join(__dirname + '/public/chat.html'));
    } else {
        response.sendFile(path.join(__dirname + '/public/index.html'));
    }
});

网站每次打开chat.html但如果我完全刷新网站,网站打开index.html。

标签: javascriptnode.js

解决方案


app.post('/out', function(request, response) {
    request.session.destroy(err => {
        if(err) {
             console.log(err)
         }else{
             response.redirect('/signup');
         }
    });
});

你可以试试这个。首先销毁会话,然后在其中调用回调函数检查销毁会话是否有任何问题,如果没有则重定向


推荐阅读