刚刚开始在Rails/HAML服务器上工作,该服务器在前端使用Bootstrap和JQuery。所有页面都是在服务器端生成的,然后我们使用JQuery在用户执行操作时给人一种Web2.0的感觉。
在我们从服务器获取数据的AJAX调用之后,我们在javascript中生成了一些复杂的html。也就是说,在我们有一个表的情况下,用户可以在表的行上执行操作。一种这样的操作是从表中删除一行,然后拉入另一行。在拉入另一行的情况下,我们从服务器获取JSON数据,在AJAX成功的情况下,我们使用JSON数据生成新行(HTML)并将其动画显示到表中。
我的问题是,表行相当复杂,并且在两个地方生成:服务器(HAML)和javascript。这意味着每次我想稍微改变一下表格(添加一个css类或改变一行的外观)时,我需要在两个地方修改代码,服务器和客户端。
这是一个遗留的系统,我被我所拥有的框架所困(也许能够说服人们引入另一个)。我能做些什么来解决这个问题呢?
我认为最好的方法是让服务器始终生成HTML。例如,当我需要添加新行时,不是返回JSON数据,而是返回新行的HTML。这样,我就可以使用相同的HAML文件服务器端来生成初始行和任何新行。
这对我来说都是很新的,这是最好的/唯一的方法吗?
提前谢谢。
发布于 2013-03-25 20:39:42
我发现的最好的方法是在服务器端生成haml部分并返回。
haml :some_partial, :layout => false
然后在jquery成功中:
function(data) {
html = $(data);
...
}
https://stackoverflow.com/questions/15468156
复制相似问题