我正在尝试创建一个Kendo模板,该模板将遍历AJAX请求返回的JSON数组。下面是数据对象的外观:
[{"Id":5, "CreatedBy":"testuser1"},
{"Id":6,"Archived":false,"CreatedBy":"testuser2"},
{"Id":7,"Archived":false,"CreatedBy":"testuser3"}]我只想在Kendo template中列出如下所示的CreatedBy字段
用户列表:
testuser1
testuser2
testuser3
这是我的尝试,但它不起作用:
<ul>
# for (var i = 0; i < data.length; i++) { #
<li>#= data[i].CreatedBy #</li>
# } #
</ul>我只得到了一个未定义的,未定义的,未定义的列表...当我删除CreatedBy并只执行datai时,我会列出每个字段的每个字母。如何从数据对象访问实际的CreatedBy值?
发布于 2016-02-23 11:04:51
我能够通过首先解析它来完成我想要的东西。如果有人有更好的更干净的方法,请让我知道。
<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>如果有人感兴趣的话,另一个更新就是我在kendo window documentation中找到了这个。如果您将dataType设置为json,那么jQuery将为您解析数据,并且您不需要$.parseJSON(数据)行。
发布于 2016-02-23 11:42:37
正如前面所讨论的,这个问题是由于AJAX请求的dataType造成的。
默认返回数据类型为string,Kendo模板无法解析。
在请求中显式指定dataType: "json"之后,或者像OP自己的答案一样,将返回数据解析为JSON类型,它可以被Kendo模板理解并再次正常运行。
https://stackoverflow.com/questions/35567467
复制相似问题