Проблема с синтаксисом рулей с JSON из API Trello

Борьба с моим синтаксисом Handlebars для данных JSON при возврате из оболочки Trello.Net для API Trello. Я выполняю поиск карты для некоторой строки, которая возвращает карты. Эта часть работает хорошо. Однако обертывание моего HTML-кода Handlebars с помощью {{#each}} вызывает ошибку «n is undefined» в основном файле handlebars.

Вот мой JSON:

"[ 
    { "Id": "519a423c4bedcac656000a84", 
      "Name": "sdvsdv", 
      "Desc": "**Submitted by me**\r\n\r\nsdvsdvsdvsdv", 
      "Other keys": "Other values",
 }, 
    { "Id": "519a423c4bedcac656000a84", 
      "Name": "sdvsdv", 
      "Desc": "**Submitted by me**\r\n\r\nsdvsdvsdvsdv", 
      "Other keys": "Other values",
 }.. and so on 
]"

Вот мой (урезанный) шаблон руля:

 <script id="resultsTemplate" type="text/x-handlebars-template">
    {{#each}}
    <div class="result {{Id}}">
        <h3>{{Name}}</h3>
    </div>
    {{/each}}
</script>

и мой вызов Ajax:

 $(".search-btn").click(function () {
         var data = 'David Orriell';
         $.ajax({
             type: "POST",
             url: "SearchYourCards.aspx/GetCards",
             data: "{'data': '" + data + "'}",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function (msg) {
                 var res = $.parseJSON(msg.d);
                 var source = $('#resultsTemplate').html();
                 var template = Handlebars.compile(source);
                 var context = res;
                 $('#results').html(template(context));
                 //$('#results').accordion({ header: ".result h3" });
             }
         });
     });

Мой HTML-шаблон всегда пуст. Есть идеи?

Спасибо, Бретт.


person Brett    schedule 20.05.2013    source источник


Ответы (1)


Вы должны проверить консоль ошибок. Затем вы должны указать {{#each}}, что вы хотите повторить:

{{#each this}}
    <!-- ... -->
{{/each}}

Демонстрация: http://jsfiddle.net/ambiguous/vcQdf/

person mu is too short    schedule 20.05.2013
comment
Единственной ошибкой в ​​консоли было «TypeError: n is undefined» в handlebars.js. Однако использование {{#each this}} решило мою проблему. Спасибо, - person Brett; 21.05.2013