解决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 相关文章推荐
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
Aug 14 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
JavaScript实现添加、查找、删除元素
Jul 02 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 Javascript
深入理解jQuery之防止冒泡事件
May 24 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
Aug 01 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
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文件读写操作相关函数总结
2014/11/18 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
Python装饰器原理与用法分析
2018/04/30 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
动态密码技术
2012/10/18 面试题
写自荐信的七个技巧
2013/10/15 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
思想政治表现评语
2015/01/04 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server