在我的视图文件中:
<a href="/logout" role="button" class="btn btn-lg btn-primary left-button">Logout</a>
在我的 app.js 文件中:
app.post('/logout', function(req, res, next){
req.logout(function(err) {
if (err) { return next(err); }
res.redirect('/');
});
});
一个有用的建议是使用表单标签,但是如何使用链接标签来完成呢?
如果在任何情况下您想使用 POST 请求,您可以使用 AJAX 请求来完成。删除链接并添加
onclick
操作。这样,当您单击“注销”按钮时,您将调用 logout
函数
<a onclick="logout()" role="button" class="btn btn-lg btn-primary left-button">Logout</a>
并创建注销函数来执行 POST 请求
<script>
const logout = () => {
fetch('/logout', {method: 'POST'})
.then((result) => {
if (result.status === 200) {
// successful logout, you can go to login page
window.location = '/login'
} else {
console.error('Server error, logout failed')
}
})
.catch((err) => console.error(err))
}
</script>