如何让Mustache呈现此数据

时间:2011-10-13 16:40:19

标签: javascript html mustache

我是胡子模板库的新手,有以下场景。我正在从Web服务器检索模板和数据。我正在尝试使用以下代码将两者结合起来:

function formatSearchResults(results)
{
    dojo.xhrGet({
        url:"search_result_template.mch",
        handleAs:"text",
        load: function(template)
        {
                //Load the template into a hidden div on the page
            var templateNode = dojo.byId("templateArea")
        templateNode.innerHTML = template;
    }
});

var templateNode = dojo.byId("templateArea");
var formattedResults;
formattedResults = Mustache.to_html(templateNode.innerHTML,results);
var templateNode = dojo.byId("outputArea");
outputArea.innerHTML = formattedResults;
}

检索json和模板工作正常。但小胡子永远不会呈现我的数据。

我有这个json数据:

{
      "data": [
            {
                  "ColumnValues": { 
                        "_0": "Bubbles", 
                        "_1": "Thompson%20Trucking",  
                        "_2": "A633937432DF91212431251256D350", 
                        "_3": "Eagleton", 
                        "_4": "CA", 
                        "_5": "555-555-5555", 
                        "_6": "12121", 
                        "_7": "Midatlantic", 
                        "_8": "Thompson%20Trucking..<snip>, 
                        "_9": ""
                  }
            }, <snip>
              ]
}

和这个小胡子模板:

<table id="orgInfo">
    <tr>
        <th>Search results: <br/><br/></th>
    </tr>
    <tr>
        <td>Organization</td>
        <td>City</td>
        <td>State</td>
        <td>Phone</td>
        <td>Region</td>
        <td>Industry</td>
        <td>Description</td>
    </tr>
    {{data}}
  {{#ColumnValues}}

<tr>
    <td>{{_0}}</td>
    <td></td>
    <td></td>
    <td></td>
    <td>Region</td>
    <td>Industry</td>
    <td></td>
</tr>
  {{/ColumnValues}}
  {{/data}}

这是我得到的输出:

{{/data}}
Search results: 

Organization    City    State   Phone   NAICS   Region  Industry    Description
                                    NAICS   Region  Industry`   

我已经在文档和示例上花了好几个小时。谁能告诉我我做错了什么?

谢谢!

开尔文

2 个答案:

答案 0 :(得分:0)

我认为你需要改变

{{data}}

{{#data}}

答案 1 :(得分:0)

确定。我现在觉得自己像一个涂料。在将json文本传递给胡须库之前,我没有将它转换为对象。一切都很好。我希望这可以帮助那些犯同样愚蠢错误的人。