把把操纵的ajax数据添加到模板中

时间:2014-04-02 21:25:55

标签: javascript jquery ajax json handlebars.js

我试图弄清楚如何使用Handlebars从返回的ajax请求中使用被操纵的数据。

在我的数据库中,我将数据存储为对象,例如:

{"1 year":"$4.95", "2 years":"$3.95"}

现在我希望能够将数据用作键/值对,所以我尝试了以下内容。

Compare.prototype.show = function(data) {
        // data returned from ajax request

    $.each(data, function (index, dataItem) {
       // grabbing the returned pricing_term data for manipulation

        var priceData = dataItem.pricing_term;

        var priceObj = JSON.parse(priceData);

        $.each(priceObj, function(term, pricing) {
           // How can I access this data on my handlebars template?
        });

    });

    var template = Handlebars.compile( $('#compareResultsTemplate').html() );

    $('div.results-container').append(template(data));
}

我检索了键/值对(有更简洁的方法吗?),但现在我不知道如何在我的把手模板中使用它。我试图在我的把手模板中使用键/值对,但它什么都不返回。这是我试过的

 <div class="result">
    {{#each this}}

    <div class="planTerm">
        {{term}}
    </div>
    <div class="planPrice">
        {{pricing}}
    </div>

    {{/each}}
</div>

1 个答案:

答案 0 :(得分:0)

根据您拥有的模板,您传递给data的{​​{1}}值必须如下所示:

template

使用var data = [ { "term": "1 year", "pricing": "$4.95" }, { "term": "2 years", "pricing": "$3.95" } ]; 上的$.each循环,您可以像这样汇编数据数组:

priceObj
相关问题