使用bootstrap-table等自动使用ajax地址载入数据的插件的数据设计建议
2015-10-26 14:09
696 查看
提出问题:
bootstrap-table 可以根据ajax地址load的json数据。这个json数据一般就是数据库中查询的结果,而数据库中存放的数据一般不是用户友好的,比如数据表示一般使用简洁id或者英文,而将数据的具体定义放在其他位置。举个例子:
表格1: ***,**** ,类型id表格1数据达到几万行,而数据中,类型id是个数字,类型id的解释意义在其他表格中存放,一共只有三个类型。
如果我们直接载入表格1数据,那么在前端展示中,显示的类型id是一串数字,显然是不友好的。
解决这个问题的办法有以下几种:
1.在客户端定义对类型id的解释,某个id对应某个中文名称,这个对应关系实际就是数据库中的对应关系,但是由于这边类型只有几种,可以在代码中写死,不需要重新查询数据库。优点:简单容易实现,不占用网络流量
缺点:代码写死,以后存在数据库中类型增删同时需要修改这部分代码。如果这样的代码一多,维护成为一件非常可怕的事情。
2.在服务端就将返回数据替换为显示的格式与意义。这个数据库查询时候直接获取,在服务器里面修改代码就可以实现
优点:客户端直接显示即可,简单
缺点:占用流量变大,一个字节的内容变为多个字节。
3.将类型id这种数据单独使用ajax查询获取数据,在客户端获取对应关系
优点:占用流量小,代码集中,具备自适应性来应对未来的数据改变
缺点:客户端需要增加一个ajax查询,由于该查询是的数据量非常小,也会很快。
综上所述:
我认为第三种方法最好,这个不但可以将表现与具体数据分隔开,使得展示的代码更加集中易于修改。并且占用网络流量也不多。注意:
请求表现格式的代码不能直接放入data-formatter中,这样做的话,会导致每读一行都会请求表现数据,这个数据可以放在全局变量里面进行复用,或者放在jquery等闭包中。相关文章推荐
- sublime Text安装Bootstrap 3 Snippets
- Bootstrap 栅格系统
- 让IE6 IE7 4000 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
- 关于bootstrap的datepicker在meteor应用中的使用(不包含bootstrap框架)
- rac下一个/tmp/bootstrap权限问题
- 借助bootstrap框架模仿airbnb写的网页
- bootstrap下拉框
- Bootstrap插件carousel源码的学习
- Flask-Bootstrap集成Twitter Bootstrap
- Bootstrap插件collapse源码的学习
- bootstrap中的carousel插件
- bootstrap之DumpWindowHierarchy
- BootStrap -- Grid System
- bootstrap navbar-fixed-top遮挡了下面的内容
- 利用R做Bootstrap统计分析
- SlickGrid 样式在 JQueryUI Accordion 和 Bootstrap框架的兼容性解决办法
- angular+bootstrap+MVC 之三,分页控件初级版
- Bootstrap Table的例子(转载)
- bootstrap, boosting, bagging 几种方法的联系
- PHP-用ThinkPHP和Bootstrap实现用户登录设计