使用bootstrap-table等自动使用ajax地址载入数据的插件的数据设计建议

提出问题:

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等闭包中。

posted @ 2015-10-26 14:09  雅思敏  阅读(7366)  评论(0编辑  收藏  举报