Используйте Middleware, чтобы направить пользователя на правильную страницу. Заданные значения из метода POST существуют в базе данных - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь использовать Middleware, чтобы проверить, правильно ли пользователь ввел учетные данные для входа на ту же страницу.

Цель: создать страницу входа, которая принимает электронную почту и пароль пользователя. Проверьте БД, если учетная запись существует. Если да, то отобразите имя пользователя в верхнем правом углу панели навигации.

Мой сервер. js код, обрабатывающий проверку значений, переданных из POST.

     router.post('/logInDynamic', (request, response, next) => {
  var email = request.body.email;
  console.log(email);
  if (email === 'Alex') {
    next();
    {
      response.setHeader('Content-Type', 'application/json');
      response.render('logInDynamic', {
        showUserInfo: true,
        layout: 'login',
      });
    }
  }
});

Я также получаю это исключение ниже.

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

1 Ответ

0 голосов
/ 09 апреля 2020

Похоже, что вы вызываете next () перед настройкой заголовка и рендеринга. Поэтому следующая функция промежуточного программного обеспечения запускается до ее завершения.

По сути, эта ошибка означает, что ваш API отправил ответ клиенту с заголовками уже, поэтому вы не можете перезаписать его.

...