Layui 解决表格异步调用后台分页的问题

参考Layui数据表格文档可以看到三种layui表格渲染方式,项目选用第一种,采用Layui的异步数据接口方式,渲染表格并分页。

按照官方写法,会报跨域错误,尝试几次,发现需要设置contentType。

//js
layui.use(['table','element'], function(){
 var fhtable = layui.table;
 //方法渲染表格
 fhtable.render({
 id: "pxjltable",//容器唯一id
 elem: '#pxjltable',//原始table容器dom
 method :'get',
 contentType: 'jsonp',//一定要是jsonp类型
 headers:{
 "Token": winStorage.token
 },
 request: {
 pageName: 'current', //页码的参数名称,默认:page
 limitName: 'limit' //每页数据量的参数名,默认:limit
 },
 url: baseAjaxUrl+'/fmReviewManagementRecord/front_login/getRecordByUserId',
 height: 470, //设置高度
 limit: 10,
 page: {layout: ['prev','page','next','count','skip']},
 cols:[[
 {field:'applyDate',title:'复核申请日期',width:131,align:'center'},
 {field:'certificateLevel',title:'认定级别',templet:'#level',width:102,align:'center'},
 {field:'status',title:'状态',templet:'#status',width:102,align:'center'},
 {field:'passDateFmt',title:'审核日期',width:131,align:'center'},
 {field:'status',title:'复核结果',templet:'#status1',width:105,align:'center'},
 {field:'orgName',title:'复合单位',align:'center'},
 {field: 'auditContents',title: '审核反馈',
  templet: function(d) {
  if (null == d.auditContents || d.auditContents == "") {
   return '无反馈信息'
  }
  return '<span class="see-info" data-value="' + d.auditContents + '">查看</span>'
  },
  align: 'center'
 }
 ]],
 parseData: function(res){ //res 即为原始返回的数据
 return {
  "code": res.code, //解析接口状态
  "msg": res.message, //解析提示文本
  "count": res.data.total, //解析数据长度
  "data": res.data.records //解析数据列表
 };
 },
 response: {
 statusCode: 200
 },
 done: function(res, curr, count) {
 layer.closeAll();
 }
});

//html
<table id="pxjltable" lay-filter="fhgldemo" class="layui-table" lay-skin="nob">
 </table>
<script type="text/html" id="level">
 {{# if(d.certificateLevel === '1'){ }}
 <span>初级</span>
 {{# } else if(d.certificateLevel === '2'){ }}
 <span>中级</span>
 {{# } else if(d.certificateLevel === '3'){ }}
 <span>高级</span>
 {{# } }}
</script>
<script type="text/html" id="status">
 {{# if(d.status === '1'){ }}
 <span style="color: #FF1B1B;">待审核</span>
 {{# } else { }}
 <span style="color: #1AB263;">已完成</span>
 {{# } }}
</script>
<script type="text/html" id="status1">
 {{# if(d.status === '2'){ }}
 <span>合格</span>
 {{# } else if(d.status === '3'){ }}
 <span>优秀</span>
 {{# } else if(d.status === '4'){ }}
 <span>不合格</span>
 {{# } else { }}
 <span>-</span>
 {{# } }}
</script>

效果图

以上这篇Layui 解决表格异步调用后台分页的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • layui实现数据表格table分页功能(ajax异步)

    layui实现数据表格table分页功能,异步加载,表格渲染,含条件查询. 一.引入layUI的相关资源 <link rel="stylesheet" href="${ctxPath}/vendor/layui/css/layui.css" rel="external nofollow" > <script src="${ctxPath}/vender/layui/layui.js" charset=&quo

  • layui实现数据分页功能

    本文实例为大家分享了layui实现数据分页功能,供大家参考,具体内容如下 官网layui table演示页面 示例截图: 页面引入layui.css. layui.js <div id="pTable" style="width: 1200px;"> <table class="layui-table" id="layui_table_id" lay-filter="test"> &

  • layUI实现前端分页和后端分页

    本文实例为大家分享了layUI实现前端分页和后端分页效果,供大家参考,具体内容如下 layui后端分页: function pagination(curr,gwayId,mlity,ePart) { $(".manage_ys_list").html('加载中...'); let dd={ conditions: { gatewayId:gwayId, searchText:"", pageSize:15, pageIndex:curr-1 }, identity:

  • 浅谈layui 数据表格前后台传值的问题

    1.1查询 <script> layui.use('table', function() { var table = layui.table; table.render({ elem : '#demo', url : 'controller路径', { field: 'id', title: 'id'}, { field: 'username', title: '用户名'}, { field: 'sex', title: 性别'}, { field: 'city', title: '城市'}

  • Layui 解决表格异步调用后台分页的问题

    参考Layui数据表格文档可以看到三种layui表格渲染方式,项目选用第一种,采用Layui的异步数据接口方式,渲染表格并分页. 按照官方写法,会报跨域错误,尝试几次,发现需要设置contentType. //js layui.use(['table','element'], function(){ var fhtable = layui.table; //方法渲染表格 fhtable.render({ id: "pxjltable",//容器唯一id elem: '#pxjltabl

  • 使用Promise解决多层异步调用的简单学习心得

    前言 第一次接触到Promise这个东西,是2012年微软发布Windows8操作系统后抱着作死好奇的心态研究用html5写Metro应用的时候.当时配合html5提供的WinJS库里面的异步接口全都是Promise形式,这对那时候刚刚毕业一点javascript基础都没有的我而言简直就是天书.我当时想的是,微软又在脑洞大开的瞎捣鼓了. 结果没想到,到了2015年,Promise居然写进ES6标准里面了.而且一项调查显示,js程序员们用这玩意用的还挺high. 讽刺的是,作为早在2012年就在M

  • 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:true(默认情况),如: 复制代码 代码如下: function ManageCommentText(text) {var result = text;$.ajax({data: "get",url: "GetComments.aspx",data: "typ

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

    使用版本 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(

  • 解决layui数据表格table的横向滚动条显示问题

    加上这段样式代码就可以解决了: <link type="text/css" rel="stylesheet" href="layui/css/layui.css" rel="external nofollow" /> <style> body{overflow-y: scroll;} /* 禁止刷新后出现横向滚动条 */ </style> ps:这个问题fly社区给出的解释是:table 列

  • 解决layui数据表格Date日期格式的回显Object的问题

    有属性: private Date createtime; 但是回显的时候,显示{ Object object },想要转换成字符串格式显示. layui中显示: 在对应的实体类中添加属性:private String createtimestr; 然后添加对应的set/get方法,但是方法处理的是createtime 但是在Mybatis-plus框架映射时,数据库表里面又没有该字段,获取数据的时候会报异常,unknown field "createtimestr" in table

  • 解决layui数据表格排序图标被超出的表头挤出去的问题

    如果表头过长,会出现超出显示三个省略号,然后把排序图标挤出去,看不到了, 效果如下 解决办法就是给图标加定位,过长的时候加上 .show-sort{ position: absolute; right: 7px; top: 5px; } $('.layui-table-header tr th').each(function(i,ths){ $(this).find('span:first').attr('title',$(this).find('span:first').text()); //

  • 解决LayUI数据表格复选框不居中显示的问题

    解决LayUI数据表格复选框不居中显示的问题 最后在样式文件中增加如下代码: .layui-table-cell .layui-form-checkbox[lay-skin="primary"]{ top: 50%; transform: translateY(-50%); } 完美解决: 以上这篇解决LayUI数据表格复选框不居中显示的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决Layui数据表格的宽高问题

    在使用Layui数据表格的时候,如果采用固定数值的话,在不同浏览器里显示会有差异,特别是在不同分辨率设备上.针对以此,把width设置直接去掉,貌似解决了我的显示问题. 之前固定宽高的情况 /*-------table----------------*/ //方法级渲染 var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '<%=path%>/content/getWd

  • layui数据表格 table.render 报错的解决方法

    一.报错信息 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Jan 23 15:20:18 CST 2019 There was an unexpected error (type=Internal Server Error, status=500). An error happened during temp

随机推荐