Цикл по объектам 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 и снова работает нормально.