为后端和前端视图定义HTML一次(PHP,Backbone)

时间:2014-04-08 09:41:27

标签: javascript php ajax backbone.js

我有一个应用程序。我希望它能够在不完全依赖JavaScript的情况下加载内容。但是,我有一些页面,我想自动刷新数据而不进行页面重新加载。我打算使用ajax(json)和骨干/下划线模板来做到这一点。问题是我不想写两次相同的HTML - 一次在后端模板/视图中(用于页面重新加载,也用于支持非JS),再次在前端模板中。我知道我可以使用AJAX从服务器请求HTML部分,但我只想请求JSON。我希望将带宽保持在最低限度,甚至HTML剥离任何JavaScript和/或样式仍然是太多的冗余数据(标签,空白等)。

一个想法是,如果有一个模板引擎使用与PHP模板相同的语法,但我不知道这是否存在。我会继续听听人们如何处理这个问题,或者我应该在两个地方编写相同的HTML?感谢

1 个答案:

答案 0 :(得分:1)

您说您只想从服务器请求JSON。您打算如何将模板传递给JS?据推测,您需要在初始页面加载期间将模板传递给客户端。

如果是这样,那么我建议您使用JS在页面加载时呈现此模板,以及刷新页面时,而不是使用PHP进行页面加载,然后使用JS。

你可以让PHP为你的模板渲染一个容器元素,然后让你的DOM在渲染模板中填充这个容器,当DOM准备就绪时。