如何将用户重定向到另一个页面?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将用户重定向到另一个页面?相关的知识,希望对你有一定的参考价值。

我遇到了一个问题。正如你可以从标题猜测,问题是我正在进行重定向循环。简单的情况,但作为一个初学者,我无法解决它。我将为您提供我的代码以查看问题。所以这是我的快递路由器`

const passport = require('passport');

module.exports = (app) => {
  app.get('/auth/eventbrite',
    passport.authenticate('eventbrite', {}));

  app.get('/auth/eventbrite/callback',
    passport.authenticate('eventbrite', { failureRedirect: '/' }),
    (req, res) => {
      if (!req.user) {
        throw new Error('user null');
      }
      res.redirect('/dashboard');
    });

  app.get('/api/logout', (req, res) => {
    req.session = null;
    req.logout();
    res.redirect('/');
  });

  app.get('/api/current_user', (req, res) => {
    res.send(req.user);
  });

  app.get('/dashboard', (req, res) => {
    console.log(req.user, 'user');
    if (!req.user) {
      res.redirect('/');
    } else {
      res.redirect('/dashboard');
    }
  });
};

您可以注意到我在护照身份验证和获取请求中都将用户重定向到/ dashboard。我的目标是防止用户在未经过身份验证的情况下访问仪表板。

答案

如果用户已登录并重定向到仪表板,则仪表板会再次将其重定向到仪表板。这创造了无限循环。相反,如果用户已登录,则仪表板路由应响应。很可能你想给他发送仪表板html页面。

以上是关于如何将用户重定向到另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

Ajax表单提交后如何将用户重定向到另一个页面

ReactJS:如何以编程方式将用户重定向到另一个页面?

如何将用户重定向到另一个html页面的html页面上的“section”?

如果登录成功,如何将用户从登录页面重定向到另一个反应页面?

使用后台代码中的 Post 方法重定向到另一个页面

如何将从 Ajax 请求收到的响应重定向到另一个 html 页面