Цикл по объектам JSON в шаблоне JavaScript Kendo

Я пытаюсь выяснить, как я могу создать шаблон Kendo, который будет проходить через массив JSON, возвращаемый запросом AJAX. Вот как выглядит объект данных:

[{"Id":5, "CreatedBy":"testuser1"},
{"Id":6,"Archived":false,"CreatedBy":"testuser2"},
{"Id":7,"Archived":false,"CreatedBy":"testuser3"}]

Я хотел бы перечислить только поле CreatedBy, как это в шаблоне Kendo:

Список пользователей:
testuser1
testuser2
testuser3

Вот моя попытка, и она не работает:

<ul>
     # for (var i = 0; i < data.length; i++) { #
          <li>#= data[i].CreatedBy #</li>
     # } #
</ul>

Я просто получаю список неопределенных, неопределенных, неопределенных... и когда я удаляю CreatedBy и просто делаю данные [i], я получаю каждую букву каждого поля в списке. Как получить доступ к фактическим значениям CreatedBy из объекта данных?

2 ответа

Я смог выполнить то, что хотел, сначала проанализировав это. Если у кого-то есть более чистый способ сделать это, пожалуйста, дайте мне знать.

<script id="myKendoTemplate" type="text/x-kendo-template">
    <ul style="list-style: none; padding: 0;">
        # var objList = $.parseJSON(data); #
        # for (var i = 0; i < objList.length; i++) { #
            <li>#= objList[i].CreatedBy #</li>
       # } #
    </ul>
</script>

Если кого-то интересует другое обновление, я нашел это в документации окна кендо. Если для dataType установлено значение json, данные анализируются для вас jQuery, и вам не нужна строка $.parseJSON(data).

Как уже говорилось, проблема связана с типом данных запроса AJAX.

По умолчанию возвращаемым типом данных является строка, которая не может быть проанализирована шаблоном Kendo.

После того, как явно указано dataType: "json" в запросе, или как собственный ответ OP, который анализирует возвращаемые данные по типу JSON, он может быть понят в Kendo Template и снова работает нормально.

Другие вопросы по тегам