自从我听说它以来,我一直在使用JSON来处理我的rails应用程序中的AJAX功能,因为使用RJS /呈现HTML“感觉”错误,因为它违反了MVC.我工作的第一个AJAX项目结果是20-30个控制器动作直接绑定到特定的UI行为,我的视图代码分布在控制器动作,部分和rjs文件上.使用JSON允许您在视图中保持视图特定代码,并且仅通过AJAX与视图不可知/ RESTful控制器操作进行对话以获取所需数据.
我从使用纯JSON中发现的一个难题是你必须通过JS“渲染”HTML,在AJAX的情况下,必须更新DOM重元素,这可能是一个真正的痛苦.我最终得到了很长的字符串构建代码
// ...ajax
success: function(records){
$(records).each(function(record){
var html = ('<div id="blah">' + record.attr +
etc +
')
})
}
其中等10-15行基于记录数据动态构建HTML.除了烦恼之外,对这种方法的更严重的回归是HTML结构的重复(在模板和JS中).*这种方法有更好的实践吗?
(我最终伸出手的动机是我现在的任务是更新HTML如此复杂,它需要两个嵌套的Ruby代码循环才能首先渲染.在Javascript中复制它似乎很疯狂.)
>我考虑过的一件事是直接从文件系统加载静态部分文件,但这似乎有点多.
解决方法:
我喜欢模板的想法.根据我的经验,它可以真正清理凌乱的字符串操作!
有很多解决方案,例如,查看John Resig(jQuery的创建者):
http://ejohn.org/blog/javascript-micro-templating/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。