2012-10-24 18 views
0

我正在使用Mustache.js格式化来自jQuery getJSON()请求的响应。 getJSON请求获取图像名称列表。当我打电话时,我想在现有内容的最后显示一系列这些图像。使用Mustache.js呈现JSON响应中的值列表

时返回看起来像这样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> 

据我所见,我已经正确地设置了一切,但对于s ome原因url未正确发送到模板。

+0

一切都在工作,除了Url变量永远不会呈现。 – Ankur

回答

1

您需要将对象传递给to_html方法。

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

通常情况下,我认为你会通过你的整个模型或集合。

+0

后来我会通过整个列表,我只想得到一个简单的版本工作。我认为url和url可能有冲突,改变了名字。 – Ankur

+0

得到了一些与这个问题无关的奇怪的错误,将它整理出来并报告回来。 – Ankur

+0

谢谢,完美的作品:) – Ankur