underscore.js ошибка шаблона

#javascript #underscore.js

#javascript #underscore.js

Вопрос:

Я пытаюсь загрузить файл .txt в <div> и когда .txt имеет такой код

 <h1>Hello <%= name %></h1>
  

Он работает правильно, но когда у меня есть такой код

 <select name="action_edit" id="task_action_edit">
    <option value="none">None</option>
    <%
    foreach(actions as action) {
        if(action['id'] == 2) {
        %>
            <option selected="selected" value="<%= action['id'] %>" action_abbr="<%= action['title'] %>">
                <%= action['title'] %>
            </option>
        <%                                
        } else {
        %>
            <option value="<%= action['id'] %>" action_abbr="<%= action['title'] %>">
                <%= action['title'] %>
            </option>
        <%
        }
    }
    %>
</select>
  

Firefox показывает мне эту ошибку, когда я загружаю этот текстовый код в div

 missing ) after argument list
[Break On This Error] var __p=[],print=function(){__p.push.a... </select>');}return __p.join('');
underscore.js (line 779)
  

Что я делаю не так?

Спасибо,

Ответ №1:

Шаблоны подчеркивания используют JavaScript внутри <% ... %> разделителей. Это:

 foreach(actions as action) {
  

это не JavaScript, и это может привести к странной ошибке, которую вы видите. Может быть, вы имеете в виду:

 for(action in actions) {
  

в вашем шаблоне.

Комментарии:

1. это была очень глупая ошибка, которую я сделал. Я написал это как на php. Спасибо,

2. @user616822: Вы не единственный, кто путает их языки, и это сообщение об ошибке, безусловно, было не очень полезным.