我需要一些帮助来了解这种重定向的工作原理(以及为什么没有按照我的预期去做):
问题: 我有一个带有“注销”按钮的HTML页面,该按钮触发了jQuery代码段:
$.ajax({
type: "POST",
url: "https://localhost:8000/chat",
data: {logout_msg: "get_out"},
success: (data, textStatus, jqXHR) => {
},
dataType:"json"
});
该按钮有效,我在这里的NodeJS服务器中捕获了“ POST”:
app.post('/chat', (req, res) => {
req.session.destroy((error) => {
if (!error) {
res.redirect("/login");
} else {
console.log(error);
}
});
但是没有网页重定向。浏览器不会加载其他重定向页面。我在Firefox和Chrome中尝试过此操作。两者的行为方式相同,因此我认为这是我的代码中的某些内容。我想念什么?谢谢。
答案 0 :(得分:1)
您仅“重定向” jquery的请求。如果要在浏览器中打开其他页面,请使用HTML表单发送注销请求,或在成功处理程序中使用location.href ='...'。
答案 1 :(得分:0)
您不需要JQuery进行简单注销。
只需添加HTML
<form action="/logout" method="post">
在服务器端
app.post('/logout', (req, res) => {
req.session.destroy((error) => {
if (!error) {
res.redirect("/login");
} else {
console.log(error);
}
});
希望这会有所帮助。