Как добавить кнопку выхода из системы, если пользователь не вошел с Nodejs - PullRequest
0 голосов
/ 09 апреля 2020

Я учусь веб-разработке, делая проекты. Я пытаюсь отобразить кнопку «Вход и выход» в зависимости от статуса входа пользователя на моем веб-сайте. Я использую ExpressJs, паспорт Js и E JS. Я пробовал это, но я получаю ошибку.

E JS код:

<form class="form-inline mt-2 mt-md-0">
      <% if (login_info) { %>
        <a href="/users/logout" class="btn btn-outline-warning my-2 my-sm-0">Logout</a>
      <% } %>
      <% else { %>
        <a href="/users/login" class="btn btn-outline-warning my-2 my-sm-0">Login</a>
      <% } %>
</form>

Код на стороне сервера:

router.get('/dashboard', function (req,res){
  if (!req.user) {
    res.render('dashboard', { login_info: 'false' });
  }
  else {
    res.render('dashboard', { login_info: 'true' });
  }
});

Ошибка

SyntaxError: Unexpected token 'else' in C:\Users\nodeapp\views\dashboard.ejs while compiling ejs

Есть ли что-то, что я делаю здесь неправильно? Спасибо

1 Ответ

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

Вы инициализируете значение login_info как строку, а не как логическое значение. Можете ли вы проверить, работает ли он

router.get('/dashboard', function (req,res){
if (!req.user) { 
res.render('dashboard', { login_info:false });
}
else {
res.render('dashboard', { login_info:true });
}
});

И на вашем e js держать} еще на той же строке, что и

<% if (true) { %>
<p> valid!!!</p>
<%} else { %>
<p> Not Allowed </p>
<% } %>
...