我希望将所有模板标记文件保存在外部html文件中,同时使用jQuery
ajax使用PHP
与服务器通信。 PHP将只返回json
对象中的可变数据。
问:我如何组织这个,以便使用我的html模板下面的代码在外部文件中?
jquery的:
$.ajax({ type: "POST", async: false, url: "ajaxHandler.php",// normally the template, but i need php for dB connect dataType: "json", success: function(data){ var aaa = data.aaa, bbb = data.bbb, ccc = data.ccc; console.log(aaa+' '+bbb+' '+ccc); } });
PHP:
$ aaa = 1;
$ bbb =' bbb&#39 ;;
$ ccc =" $ aaa $ bbb&#34 ;;
echo json_encode(array(&#34; aaa&#34; =&gt; $ aaa,&#34; bbb&#34; =&gt; $ bbb,&#34; ccc&#34; =&gt; $ ccc)); < / p>
我的index.html包含:
<table class="entries"> <script id="template" type="text/x-handlebars-template"> <tr> <td>{{aaa}}</td> <td>{{bbb}}</td> <td>{{ccc}}</td> </tr> </script> </table>
但我想将其保存在外部文件中
答案 0 :(得分:1)
您需要precompile your templates或load and compile the .hbs
files with Ajax when requested。之后,您可以从Handlebars.templates
获取模板,将其填入您的数据并将其附加到您的条目
yourtemplate.hbs
<tr>
<td>{{aaa}}</td>
<td>{{bbb}}</td>
<td>{{ccc}}</td>
</tr>
JavaScript
$.ajax({ type: "POST",
async: true,
url: "ajaxHandler.php",
dataType: "json",
success: function(data){
var template = Handlebars.template["yourtemplate.hbs"],
html = template(data);
$(".entries").append(html);
}
});