Unknown "Uncaught SyntaxError: Неожиданный токен <"

<div class="tab-pane active" id="connectedDevices">
                     <script>

                      if (req.user.pebble.watch_token == String) {
                        <i class="fa fa-check"> Pebble </i>
                      } else{
                        <i class="fa fa-warning">No Pebble connected</i>
                      };

                     </script>


                  </div>

Использование локальной стратегии и комплекта Pebble для проверки, подключен ли пользователь к камешку. Все AUTH работает, просто интересно, почему ничего не появляется сейчас.

2 ответа

Решение

Вы получаете ошибку, потому что < не разрешено, где вы кладете это. У тебя есть < потому что вы поместили некоторый HTML в середине вашего JavaScript.

В комментариях вы говорите, что используете EJS, но если бы вы использовали синтаксис, показанный на домашней странице, тогда ваш шаблон будет выглядеть так:

<% if (req.user.pebble.watch_token == String) { %>
    <i class="fa fa-check"> Pebble </i>
<% } else { %>
    <i class="fa fa-warning">No Pebble connected</i>
<% } %>

и будет в .ejs файл шаблона загружен с:

var html = new EJS({url: 'example.ejs'}).render(data);

Тогда у вас будет HTML-код в переменной, которую вы можете использовать с innerHTML на элементе.

Вы должны быть внутри тега скрипта (т.е.), чтобы делать то, что вы делаете. Он называется In-Line Javascript и очень полезен.

Другие вопросы по тегам