【发布时间】:2012-01-22 17:50:08
【问题描述】:
我想知道在 Web 应用程序中呈现部分视图的好方法(或推荐方法)是什么。
我有一个要求,我需要使用 AJAX 将数据加载到已经呈现的页面中,有点像页面末尾的 “加载更多...” 链接,它可以获取更多信息来自服务器并将其呈现到页面底部。
目前我正在使用的 AJAX 响应的两个选项是
- 返回数据的 JSON 表示,并使用客户端模板库(例如 jQuery 模板)或纯 JavaScript 将 JSON 转换为 HTML 并附加到页面底部
- 在服务器上渲染部分视图(在我的例子中使用 grails 的
render template:'tmplt_name')并通过网络发送它,然后将结果附加到页面底部
还有其他方法可以做到这一点吗?如果不是,考虑到上述选项,在维护、性能和可测试性方面哪个更好?我可以确定的一件事是,JSON 路由(在大多数情况下)将比通过网络发送 html 占用更少的带宽。
【问题讨论】:
-
我怀疑您已经在用户第一次接触页面时呈现类似的内容,就像您打算使用“加载更多链接”一样。以相同的方式单击“加载更多”后加载正在加载的内容并重用您已经为此编写的代码是否没有意义?你的问题很有趣,我想看看你和其他人对这个话题的想法是什么
-
是的,在第一次交互时,我重新使用相同的模板(在第 2 点中)来呈现完整的页面(以及页面的其他静态部分)。这两个选项都对我有用,而且我在零散的事情上都使用了它们。我也很想看看其他人对此的看法。
标签: javascript html grails view-templates