最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

解决layui中table异步数据请求不支持自定义返回数据格式的问题

来源:动视网 责编:小采 时间:2020-11-27 22:09:42
文档

解决layui中table异步数据请求不支持自定义返回数据格式的问题

解决layui中table异步数据请求不支持自定义返回数据格式的问题:使用版本 layui-v2.3.0 修改: 打开layui中table.js源码 在 Class.prototype.pullData 这个方法定义内部 //获得数据 Class.prototype.pullData = function(curr, loadIndex){ var that = this ,options = t
推荐度:
导读解决layui中table异步数据请求不支持自定义返回数据格式的问题:使用版本 layui-v2.3.0 修改: 打开layui中table.js源码 在 Class.prototype.pullData 这个方法定义内部 //获得数据 Class.prototype.pullData = function(curr, loadIndex){ var that = this ,options = t


使用版本 layui-v2.3.0

修改:

打开layui中table.js源码

在 Class.prototype.pullData 这个方法定义内部

//获得数据
Class.prototype.pullData = function(curr, loadIndex){
 var that = this
 ,options = that.config
 ,request = options.request
 ,response = options.response
 ,sort = function(){
 if(typeof options.initSort === 'object'){
 that.sort(options.initSort.field, options.initSort.type);
 }
 };
 
 that.startTime = new Date().getTime(); //渲染开始时间
 
 if(options.url){ //Ajax请求
 var params = {};
 params[request.pageName] = curr;
 params[request.limitName] = options.limit;
 
 //参数
 var data = $.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 (typeof options.responseHandler == "function") {
 res = options.responseHandler(res);
 }
 // ----------------结束---------------------
 
 if(res[response.statusName] != response.statusCode){
 that.renderForm();
 that.layMain.html('<div class="'+ NONE +'">'+ (res[response.msgName] || '返回的数据状态异常') +'</div>');
 } else {
 that.renderData(res, curr, res[response.countName]), sort();
 options.time = (new Date().getTime() - that.startTime) + ' ms'; //耗时(接口请求+视图渲染)
 }
 loadIndex && layer.close(loadIndex);
 typeof options.done === 'function' && options.done(res, curr, res[response.countName]);
 }
 ,error: function(e, m){
 that.layMain.html('<div class="'+ NONE +'">数据接口请求异常</div>');
 that.renderForm();
 loadIndex && layer.close(loadIndex);
 }
 });
 } else if(options.data && options.data.constructor === Array){ //已知数据
 var res = {}
 ,startLimit = curr*options.limit - options.limit
 
 res[response.dataName] = options.data.concat().splice(startLimit, options.limit);
 res[response.countName] = options.data.length;
 
 that.renderData(res, curr, options.data.length), sort();
 typeof options.done === 'function' && options.done(res, curr, res[response.countName]);
 }
};

使用:

在建立table的时候

加入

responseHandler: function (res) {
 // 可进行数据操作
 return {
 "count": res.data.count,
 "data": res.data.companyList,
 "code": res.code == 200 ? 0 : -1 //code值为200表示成功
 };
},

以上这篇解决layui中table异步数据请求不支持自定义返回数据格式的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

文档

解决layui中table异步数据请求不支持自定义返回数据格式的问题

解决layui中table异步数据请求不支持自定义返回数据格式的问题:使用版本 layui-v2.3.0 修改: 打开layui中table.js源码 在 Class.prototype.pullData 这个方法定义内部 //获得数据 Class.prototype.pullData = function(curr, loadIndex){ var that = this ,options = t
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top