javascript - Node js session 销毁不重定向

标签 javascript node.js

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

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

服务器.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。

最佳答案

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

你可以试试这个。首先销毁 session ,然后调用里面的回调函数检查销毁 session 是否有任何问题,如果没有则重定向

关于javascript - Node js session 销毁不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59916129/

相关文章:

node.js - 具有内容长度限制的签名 URL

javascript - Nodejs 对象声明和立即速记 if 语句使应用程序崩溃

javascript - 在 Telerik MVC 中使用客户端传递参数

javascript - MongoDB:如何调用使用load函数加载的外部函数?

node.js - 头像: React Native and Azure

javascript - Sequelize 无法访问别名。别名未定义

javascript - 找不到强大的模块 - Node.js

javascript - 在自定义 Google map 中按邮政编码添加搜索

javascript - 将导航元素与 Logo 对齐 - Bootstrap 3

javascript - 如何更新 getRangeLabel mat 分页器中的长度