解决layui中table异步数据请求不支持自定义返回数据格式的问题
使用版本layui-v2.3.0
修改:
打开layui中table.js源码
在Class.prototype.pullData这个方法定义内部
//获得数据 Class.prototype.pullData=function(curr,loadIndex){ varthat=this ,options=that.config ,request=options.request ,response=options.response ,sort=function(){ if(typeofoptions.initSort==='object'){ that.sort(options.initSort.field,options.initSort.type); } }; that.startTime=newDate().getTime();//渲染开始时间 if(options.url){//Ajax请求 varparams={}; params[request.pageName]=curr; params[request.limitName]=options.limit; //参数 vardata=$.extend(params,options.where); if(options.contentType&&options.contentType.indexOf("application/json")==0){//提交json格式 data=JSON.stringify(data); } $.ajax({ type:options.method||'get' ,url:options.url ,contentType:options.contentType ,data:data ,dataType:'json' ,headers:options.headers||{} ,success:function(res){ //加入这部分!!! //临时解决layui的table组件中response选项不支持多层级获取接口数据的方法 //----------------开始--------------------- if(typeofoptions.responseHandler=="function"){ res=options.responseHandler(res); } //----------------结束--------------------- if(res[response.statusName]!=response.statusCode){ that.renderForm(); that.layMain.html(''+(res[response.msgName]||'返回的数据状态异常')+'
使用:
在建立table的时候
加入
responseHandler:function(res){ //可进行数据操作 return{ "count":res.data.count, "data":res.data.companyList, "code":res.code==200?0:-1//code值为200表示成功 }; },
以上这篇解决layui中table异步数据请求不支持自定义返回数据格式的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。