解决layui的table插件无法多层级获取json数据的问题


Posted in Javascript onSeptember 19, 2019

对于layui的table插件无法多层级获取json数据的解决方法,版本:2.2.6

根据官方文档 你接口返回的数据格式,遵循 response 对应的字段名称。

默认的格式为如下:

{ 
code: 0,//数据状态的字段名称,默认:code 
msg: “”, //状态信息的字段名称,默认:msg 
count: 1000,//数据总数的字段名称,默认:count 
data: []//数据列表的字段名称,默认:data 
}

那么当后台返回的数据为如下格式时:就无法直接获取到“list”和“total”了

{“status”:0, 
“msg”:”超级管理员查询成功”, 
“data”:{ 
“pageNum”:1, 
“pageSize”:10, 
“size”:2, 
“total”:2, 
“list”:[ 
{“phone”:”13713596448”,”username”:”旺”,”passwd”:”1”,”usegrant”:”0”,”leader”:”“,”chancecount”:”1000”,”createtime”:1528369281000,”updatetime”:1528369285000,”usecount”:”0”}, 
{“phone”:”18038060732”,”username”:”彬”,”passwd”:”1”,”usegrant”:”0”,”leader”:”“,”chancecount”:”100”,”createtime”:1528422270000,”updatetime”:1528422270000,”usecount”:”0”} 
]

解决方案:

1. 最直接的方法是叫后台人员直接改为官方文档的方式

2. 先通过ajax获取到数据,然后通过data属性进行赋值,当涉及到分页时,代码会比较冗余;

3.通过url属性赋值,则在table源文件中 M.prototype.page方法下添加以下代码:

var multilevel=function (data,list) {
  var d = data;
  for (var i in list){
    d =d[list[i]];
  }
  return d
};
var renderResponse=function (data) {
 var statusNameLsit=r.statusName.split("."),
   msgNameLsit=r.msgName.split("."),
   countNameLsit=r.countName.split("."),
   dataNameLsit=r.dataName.split(".");
 var dataTemp={};
 dataTemp[r.statusName]=multilevel(data,statusNameLsit);
 dataTemp[r.msgName]=multilevel(data,msgNameLsit);
 dataTemp[r.countName]=multilevel(data,countNameLsit);
 dataTemp[r.dataName]=multilevel(data,dataNameLsit);

 return dataTemp;
};

在M.prototype.page中ajax请求成功函数success里添加以下代码:

typeof renderResponse === 'function' && (t = renderResponse(t));

使用时:在response属性中用.来分割层级,代码如下:

response: {
  statusName: 'status' //数据状态的字段名称,默认:code
  ,statusCode: 0 //成功的状态码,默认:0
  ,msgName: 'msg' //状态信息的字段名称,默认:msg
  ,countName: 'data.total' //数据总数的字段名称,默认:count
  ,dataName: 'data.list' //数据列表的字段名称,默认:data
}

以上这篇解决layui的table插件无法多层级获取json数据的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
javascript 计算两个整数的百分比值
Dec 26 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
jQuery插件版本冲突的处理方法分析
Jan 16 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
使用Angular CLI生成路由的方法
Mar 24 Javascript
Angular 如何使用第三方库的方法
Apr 18 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
js Proxy的原理详解
May 25 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 #Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 #Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 #Javascript
JS实现滚动条触底加载更多
Sep 19 #Javascript
Vue v-text指令简单使用方法示例
Sep 19 #Javascript
Vue.set 全局操作简单示例
Sep 19 #Javascript
layui对工具条进行选择性的显示方法
Sep 19 #Javascript
You might like
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
js数组的操作详解
2013/03/27 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
angularJS中$apply()方法详解
2015/01/07 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
Vue基础配置讲解
2019/11/29 Javascript
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python之os操作方法(详解)
2017/06/15 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python使用插值法画出平滑曲线
2018/12/15 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
大二自我鉴定
2014/01/31 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
上班打牌检讨书
2014/02/07 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
教师节班会主持词
2015/07/06 职场文书
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL