Layui 表格异步调用后台分页及跨域处理方案

作者:木棉

时间:2026-10-23

浏览:640

本文介绍使用 Layui 进行表格异步数据渲染与分页的方法。针对官方示例可能引发的跨域错误,重点说明需将 contentType 设置为 jsonp 类型,并结合请求头 Token 验证实现后台数据交互,附带完整配置代码与效果展示。

文章目录

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 表格异步渲染与分页配置

以上即为 Layui 解决表格异步调用后台分页问题的完整方案,供各位开发者参考,欢迎继续支持本站获取更多技术分享。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章