讨论下思路,不用ExtJs,easyui,frame标签,只用jquery,ajax,div,怎样实现 OA界面比较好?:报错
我最初想的是,点击nav的功能链接时,在div里load一个管理模块的html模版,然后根据ajax返回的数据填充模版内容。感觉这样js写起来比较复杂,不太好维护吧。但这样系统界面就可以放在一个html中了,通过ajax交换数据,效率应该会好些。
还有一种思路,controller接到请求后,取得数据,读取模版(比如freemarker),ajax接受格式化输出的数据(html代码)并在系统界面中显示。但这样ajax传输内容会增加。
不知道那种实现方式比较好,大家有什么好思路么?
我采用jquery一套作为UI,布局用jquery-ui-layout,表格使用jqgrid,tree用Ztree。
OA不是大型网站,不用考虑那么多。我觉得直接跳转新页面的做法最省事。维护也方便。如果个别页面加载比较慢的话,完全可以使用freemarker的生成静态html文件的功能就可以了。
######ajax接受格式化输出的数据(html代码)并在系统界面中显示。但这样ajax传输内容会增加。传输内容会增加?好像很多人都是这么做的,你那个系统很庞大?访问量很巨大?对性能要求很苛刻吗?还是杞人忧天?
还有,这样做有点像ExtJS单页模式。这样做效率是高了,至少不用每个页面都加载CSS、JS,但是所有的内容都加载在同一个页面中,因此每个表单输入的name、id就很可能存在重名的现象……
######一般其实直接用ajax去服务器请求数据,然后直接生成Dom节点,插入到HTML就行了。
如果数据较大的话,可以考虑加个loading图片之类的效果,对用户比较友好。
或者,第一次的时候去后台请求,之后就把数据缓存的客户端。也会增加用户体验度。
(这样做个人感觉比较灵活,而且数据是后台提供的,后期修改什么的对前端也有好处。前端只需展示数据,不用进行大量的过滤或者计算)
######我第一个网站就是这思路做的,所以感受深刻。
先说负面的。
会有比较高的维护成本和调试成本。
对一般网站而言,这样搞nav不适合seo。对协同系统,后台管理系统来说,这样开发又复杂,且本身这些系统对性能对传输量要求并不高。
这样实现绝对是对自己前端技术的一个锻炼。
参考前端模板,而且,jquery要用大量的bind把新载入的元素绑定事件。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。