0

AJAX 要求によって返される JSON 配列をループする剣道テンプレートを作成する方法を見つけようとしています。データ オブジェクトは次のようになります。

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

剣道テンプレートで、次のように CreatedBy フィールドだけをリストしたいと思います。

ユーザーリスト:
testuser1
testuser2
testuser3

これが私の試みであり、機能していません:

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

未定義、未定義、未定義のリストを取得するだけです...そして、CreatedByを削除してdata [i]を実行すると、各フィールドの各文字がリストされます。データ オブジェクトから実際の CreatedBy 値にアクセスするにはどうすればよいですか?

4

2 に答える 2

1

最初に解析することで、私が望んでいたことを達成することができました。他の誰かがそれを行うためのよりクリーンな方法を持っている場合は、私に知らせてください。

<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) 行は必要ありません。

于 2016-02-23T03:04:50.797 に答える