EJS意外令牌“ else”

时间:2018-07-23 21:36:54

标签: node.js syntax-error ejs

我在ejs中的语法有问题,这对我来说并不明显:

<form class="dataForm" action="<%= template.actionPath %>" method="post">
  <% for(var i in template.inputVar) { %>
    <label><%= template.inputVar[i].labelName %></label>
    <br>
    <% if (template.inputVar[i].type == "option") { %>
        <select name="<%= template.inputVar[i].name %>">
        for(var j in template.inputVar[i].options) { %>
          <option value="<%= template.inputVar[i].options[j] %>"><%= template.inputVar[i].options[j] %></option>
        <% } %>
        </select>
    <% } else { %>
        <input type="<%= template.inputVar[i].type %>" name="<%= template.inputVar[i].name %>">
    <% } %>
    <br><br>
  <% } %>

我正在渲染一个创建表单的网页。现在,我想添加一个功能,使我可以在表单中进行选择。 不幸的是,ejs不喜欢我说的“ else”:

SyntaxError: Unexpected token else in C:\Users\etc... while compiling ejs

我对此问题进行了一些研究,但找不到可以帮助我的东西。

1 个答案:

答案 0 :(得分:1)

您的for行缺少开头的ejs脚本标记

for(var j in template.inputVar[i].options) { %>

<% for(var j in template.inputVar[i].options) { %>

此外,您应该关闭表单标签