1

Mustache.jsを使用して、jQuery getJSON()リクエストからの応答をフォーマットしています。getJSONリクエストは、画像名のリストを取得します。電話をかけたときに、既存のコンテンツの最後にこれらの一連の画像を表示したいと思います。

返されるJSONは次のようになります。

[
  {"id":{"_time":1351063373,"_machine":56912161,"_inc":1690583039,"_new":false},"url":"5.jpg","tags":[]},
  {"id":{"_time":1351063237,"_machine":56912161,"_inc":1690583038,"_new":false},"url":"Repinzle-Logo.png", "tags":[]},
  {"id":{"_time":1351063186,"_machine":56912161,"_inc":1690583037,"_new":false},"url":"21.jpg","tags":[]}}
]

私はそれを各関数で解析しています...私のAJAXリクエスト(jQueryは次のようになります):

<script type="text/javascript">
    var imageNum=20;
    var imageCount=0;

    function getMoreImages(){
        imageCount=imageCount+imageNum;
        $.getJSON("/getImages", { start: imageNum, count: imageCount },
            function(data){
            $.each(data, function(key, val) {
                // do stuff with val.url

                var url = val.url;
                var template = $('#item-tpl').html();
                var newitem = Mustache.to_html(template, url);
                    $('#main').append(newitem);
                });     
              });
    }
</script>

そしてここにmustache.jsテンプレートがあります

<script id="item-tpl" type="text/html">
    <div><img src="https://myurlstem.com/mydir/{{url}}" class="item"></div>
</script>

私が見る限り、すべてが正しく設定されていますが、何らかの理由urlでテンプレートに正しく送信されていません。

4

1 に答える 1

2

to_htmlメソッドにオブジェクトを渡す必要があります。

var newitem = Mustache.to_html(template, { url: url });

通常、モデルまたはコレクション全体を渡すと思います。

于 2012-10-24T12:37:15.243 に答える