Unknown "Uncaught SyntaxError: Unexpected token <"

Unknown "Uncaught SyntaxError: Unexpected token <"

<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 套件来验证用户是否连接了 Pebble。所有 AUTH 都在工作,只是想知道为什么现在什么都没有显示。

您需要位于脚本标记(即 )内才能执行您正在执行的操作。它被称为 In-Line Javascript 并且非常有用。

您收到错误消息,因为 < 不允许放在您放置的位置。你有一个 < 因为你在 JavaScript.

的中间放置了一些 HTML

你在评论中说你正在使用 EJS,但如果你使用 homepage 上显示的语法,那么你的模板将如下所示:

<% 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