Экспресс 4.x редирект - PullRequest
       3

Экспресс 4.x редирект

0 голосов
/ 23 июня 2018

Мне нужна помощь, чтобы понять, как работает этот редирект (и почему я не делаю то, что, как я думаю, должен делать):

Проблема: У меня есть HTML-страница с кнопкой выхода из системы, которая запускает фрагмент jQuery:

$.ajax({
        type: "POST",
        url: "https://localhost:8000/chat",
        data: {logout_msg: "get_out"},
        success: (data, textStatus, jqXHR) => {

        },
        dataType:"json"
});

Кнопка работает, я ловлю "POST" на моем сервере NodeJS, здесь:

app.post('/chat', (req, res) => {
   req.session.destroy((error) => {
      if (!error) {
         res.redirect("/login");
      } else {
         console.log(error);
      }
});

Ответ получен браузером: web-console

Но перенаправления веб-страниц нет. Браузер не будет загружать другую страницу перенаправления. Я пробовал это в Firefox & Chrome. Оба ведут себя одинаково, поэтому я предполагаю, что это что-то в моем коде. Что мне не хватает? Благодарю.

Ответы [ 2 ]

0 голосов
/ 23 июня 2018

Вам не нужен JQuery для простого выхода из системы.

Просто добавьте в HTML <form action="/logout" method="post">

И на стороне сервера

app.post('/logout', (req, res) => {
   req.session.destroy((error) => {
      if (!error) {
         res.redirect("/login");
      } else {
         console.log(error);
      }
});

Надеюсь, это поможет.

0 голосов
/ 23 июня 2018

Вы только «перенаправляете» запрос jquery.Если вы хотите открыть другую страницу в браузере, отправьте запрос на выход с HTML-формой или используйте location.href = '...' в обработчике успеха.

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