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 回答