Mustache.to_html()返回一个空字符串

时间:2015-10-19 00:45:43

标签: javascript jquery json mustache

之前曾问过这个问题,但没有得到答案。我有一个php文件,它将一个json对象发送到一个javascript文件,该文件应该用模板呈现它并显示在div上。问题是,函数Mustache.to_html()返回空。任何人都可以告诉我我做错了什么。这是我的代码。

{

    $(":button").click(function(){
    var cat = $(this).attr("name");

    $.get("trier.php",{input: cat}, function(data){
            alert(data);
            var template = $('#templabel').html();
            console.log(template);
            var html = Mustache.to_html(template, data);
            console.log(html);
            $('#feedback2').html(data);

    }); 
});

}

javascript将数据发送到此php文件,该文件发送回json对象

{

if(isset($_GET['input'])){
    $catt = $_GET['input'];

        $info = "SELECT * FROM books WHERE (Category = '$catt')";
        $information = mysqli_query($conn,$info);
        $arraay = array();

        while($r = mysqli_fetch_assoc($information)){
            $arraay[] = $r;
        }
        $jason = json_encode($arraay);
        $jason = '{"arraay":'.$jason."}";

        echo $jason;
    }

}

然后,javascript文件将使用胡子模板呈现的json对象发送到html文件,发送到id =“feedback2”的标记。但是显示器是原始的json,而不是模板化的。应用Mustache.to_html函数后,第二个console.log返回一个空字符串。我做错了什么?

模板的console.log输出为

{{#arraay}}
        <div>
            <h2> {{Title}}</h2>
            <p>{{Course}}</p>
            <p>{{Category}}</p>
        </div>
    {{/arraay}}

并且数据的警报是 {“arraay”:[{“Title”:“Algorithms”,“Course”:“CSI241”,“Category”:“science”},{“Title”:“Fluid dynamics”,“Course”:“PHY345”, “类别”: “科学”}]}

1 个答案:

答案 0 :(得分:0)

适合我:

&#13;
&#13;
var data = {"arraay":[{"Title":"Algorithms","Course":"CSI241","Category":"science"},{"Title":"Fluid dynamics","Course":"PHY345","Category":"science"}]};
var template = document.getElementById('template').innerHTML;
var html = Mustache.to_html(template, data);
document.getElementById('render').innerHTML = html;
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/2.2.0/mustache.min.js"></script>
<template id="template">
  {{#arraay}}
        <div>
            <h2> {{Title}}</h2>
            <p>{{Course}}</p>
            <p>{{Category}}</p>
        </div>
  {{/arraay}}
</template>

<div id="render">
</div>
&#13;
&#13;
&#13;