簡體   English   中英

使用jQuery模板呈現JSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM