首页 > 解决方案 > Express 4.x 重定向

问题描述

我需要一些帮助来理解这个重定向是如何工作的(以及为什么没有做我认为应该做的事情):

问题:我有一个带有“注销”按钮的 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 中试过这个。两者的行为方式相同,所以我认为这是我的代码中的内容。我错过了什么?谢谢。

标签: node.jshttpexpress

解决方案


您只“重定向”jquery 的请求。如果您想在浏览器中打开其他页面,请使用 HTML 表单发送注销请求或在成功处理程序中使用 location.href = '...'。


推荐阅读