Как передать данные на разные маршруты с помощью Express? - PullRequest
0 голосов
/ 24 июня 2019

Я создаю веб-приложение, в котором требуется, чтобы пользователь зарегистрировался / вошел в систему, и после того, как он это сделал, его перенаправили на «страницу учетной записи», где его учетная информация доступна для просмотра.

Я использую MongoDB, Mongoose и Passport.

У меня есть мой почтовый маршрут:

app.post("/", function(req, res){
  User.findOne({username: req.body.username}, function(err, foundUser){
    if(foundUser){
      //found user in database
       const user = new User({
    username: req.body.username,
    password: req.body.password
  });

  req.login(user, function(err){
    if(err){
      console.log(err);
    } else {
      passport.authenticate("local", function(err, user){
        if(err){
          console.log(err);
        } else {
          if(user){
            res.redirect("/user");
          } else {
            res.render("home", {failedAttempt: true});
          }
        }
      })(req, res);
    }
  });
    } else {
      //user does not exist
      console.log("the user does not exist here");
      res.render("home", {failedAttempt: true})
    }
  });
});

Я бы хотел передать информацию о базе данных для этого конкретного пользователя в маршрут "/ user", но я не знаю как. Как я могу сделать так, чтобы после того, как пользователь был перенаправлен в root / user, я мог получить информацию в его базе данных?

1 Ответ

0 голосов
/ 24 июня 2019

Возможно, вы захотите заглянуть в Express Middleware. Это позволяет вам сначала выполнить некоторую обработку, чтобы извлечь информацию о пользователе, а затем передать полученные данные на ваш маршрут.

Прочитайте все об этом: https://expressjs.com/en/guide/using-middleware.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...