2012-10-24 20 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