想象一下一个评论网站,用户可以在其中输入评分和可选的简短评论
在每个评论页面上你都有很多评论 - 这些评论显示在页面末尾的表格中(顺便说一句 - 没有找到数据网格类型的控件,对于它来说太简单了)
我想让用户输入新评论并更新页面而不刷新页面.(到目前为止所有简单的东西,这不是问题)
为页面生成的好方法是什么?一些想法: -
生成评论HTML服务器端,使用javascript客户端附加新评论.缺点是你在两个地方都有表格HTML生成代码.好处 - 就搜索引擎而言,页面上的内容更多.
服务器端仅将评论输出为json/xml/whatever,并使用javasript在页面加载时动态呈现HTML.
缺点 - javascript中的"模板",设计师难以自定义+页面上缺少"内容".
是否有一种方法结合了两种方法 - 即一个模板框架,它将呈现现有数据服务器端,但也发送模板片段客户端,以便可以在那里重复使用以进行添加/编辑.
用(2)得到初始页面加载的数据就可以了
a)在初始页面上包含json/xml,并在页面加载时运行客户端渲染
b)在页面加载时通过单独的AJAX调用获取它(+更简单, - 额外请求和延迟)
我专注于jQuery/Django,但这个问题适用于其他框架和AJAX库.
这是一个主观的问题,希望它不会超越线!思考?
有了框架,您的场景 (3) 的一种方法(结合这两种方法)就是使用“部分”视图。部分视图是可以单独渲染的视图片段;单个视图可以由多个部分组成。
在您的情况下,您将定义一个部分来呈现评论。当从头开始显示页面时,服务器端代码循环遍历现有评论并调用部分内容来逐个呈现它们。当新评论添加到现有页面时,JavaScript 会要求服务器仅呈现该新评论的部分内容并将其作为 Ajax 响应返回,然后将其附加到页面上的现有评论。
| 归档时间: |
|
| 查看次数: |
735 次 |
| 最近记录: |