未知"未捕获的SyntaxError:意外的令牌<"

时间:2015-03-02 18:54:27

标签: javascript pebble-watch pebble-sdk cloudpebble pebble-js

<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 个答案:

答案 0 :(得分:2)

您收到错误是因为<在您放置它的位置是不允许的。您有一个<,因为您已在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

答案 1 :(得分:-2)

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