zoukankan      html  css  js  c++  java
  • 使用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等闭包中。

  • 相关阅读:
    Leetcode 217 存在重复
    Leetcode 125验证回文串
    HTML标签
    Having dreams is what makes life tolerable.
    Database数据库——MySQL简述
    Python实践之路8——选课系统
    Python学习之路16——线程、进程和协程
    Python实践之路7——计算器
    Python学习之路14——Socket
    Python学习之路13——异常处理
  • 原文地址:https://www.cnblogs.com/yasmi/p/4911053.html
Copyright © 2011-2022 走看看