[英]Using jQuery template to render JSON
我一直在嘗試使用jQuery模板進行一些JSON渲染的嘗試,但沒有成功...我希望有人比我更聰明,可以發現我要去哪里。
因此,我的JSON數據返回的內容與此類似:
[{"pk": 1, "model": "blobs.blob", "fields": {"content": "hello"}}, {"pk": 2, "model": "blobs.blob", "fields": {"content": "goodbye"}}];
然后,我嘗試使用jQuery模板呈現JSON返回的每個項目:
var blob_template = '<p>${content}</p>';
$.template('blobTemplate', blob_template );
$.getJSON('/myurl/', function(data) {
$('blobTemplate').empty();
var blobs = data;
$.tmpl('blobTemplate', blobs)
.appendTo('div');
});
該模板可以很好地呈現,但是沒有$ {content}中的數據。 我沒有收到任何錯誤或未定義的消息,但是我不知道我在哪里出錯? 任何幫助將不勝感激!
更新:
好的,為了避免使用不推薦使用的方法或其他腳本/插件,這是一種更好的方法嗎?
$.getJSON('/myurl/', function(data) {
var blobs = [];
$.each(data, function(i, data) {
var blob_template = '<p>' + data[i].fields.content + '</p>';
blobs.push(blob_template);
});
$(notes.join('')).appendTo('div');
});
這似乎導致data [i]未定義,盡管:(
據我對不贊成使用的模板插件的有限了解,它沒有選擇content屬性,因為它不是JSON對象集合中每個對象的頂級屬性。 我認為您的模板應如下所示:
<p>
{{each fields}}
${$value}
{{/each}}
</p>
您是否包含https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js ? (因為jQuery.template是beta)
你在那里做什么$('blobTemplate').empty();
? 我認為您沒有blobTemplate標簽
您將${content}
替換${content}
data[i].content
但是您的內容字段位於data[i].fields.content
...?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.