【问题标题】:Why doesn't backspace navigation request for get/post?为什么不退格导航请求获取/发布?
【发布时间】:2016-12-21 00:57:57
【问题描述】:

使用 Node 和 Express,我检查会话以查看用户是否已登录,因此如果浏览器到达登录页面并且会话已到位,它会重定向到配置文件页面。但是,登录后,如果我按退格键,我就可以进入登录页面。然后,如果我刷新,我会被重定向到个人资料页面。这是怎么发生的,我能做些什么来改变它?无论框架如何,这都是一个问题吗?谢谢。

router.get('/', function(req, res) {
    if (session.verified) {
        res.redirect(path);
    }
    else {
        res.render('login.html');
    }
});

【问题讨论】:

  • 分享一些代码和minimal reproducible example
  • 当您按下退格键时,页面不会重新加载,因此服务器代码不会被执行。重新加载网站时可能会检查 javascript 中的 cookie...
  • @DanielA.White 我现在放了一个示例代码。谢谢。
  • @Jonasw 是的,这就是我认为正在发生的事情。有没有办法让它重新加载?
  • 登录->登录(显示“正在加载...”+重定向)->页面

标签: javascript node.js express


【解决方案1】:

您可以用一个响应来代替重定向 重定向.html:

<head>
<meta http-equiv="refresh" content="0; url=http://example.com/mainpage" />
</head>
<body>
Redirecting...
(If you see that to long, please notify the admin)
</body>

如果您查看著名网站的网址,您会看到类似的行为。他们有一个页面总是重定向到另一个网站,所以你不能返回

login -> redirect -> page
                     <--- does work but
                      ---> youre redirected again...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2015-08-28
    • 2014-08-17
    相关资源
    最近更新 更多