layui 渲染表格无法设置ajax请求头问题
前情提要:
- 相信很多朋友对 layui 都有一定了解,作为后台管理模板使用的前端框架算是一个比较新,也比较受欢迎的框架
- 公司最近一个项目也在使用Layui,再渲染表格时,发现比较坑的一点,layui渲染表格的几种方式,均无法设置请求头!这可坑死人了。
- 很多公司为了提升系统安全性,基本都会使用auth2.0,不带token基本就不用玩了。无法设置请求头,还带毛线token啊?
言归正传:
上网查询了很多,layui 渲染表格设置请求头的问题,回答最多的就是改源码!
layui渲染表格的几种方式,其实都是使用内部封装的ajax请求,去获取数据然后渲染的。
比如下面这种方式:
var table = layui.table
,form = layui.form;
layui.use('table', function () {
// 引入 table模块
table.render({
id:"dataTable",//
elem: '#layui_table_id',//指定表格元素
url: '/menu/menuList.ajax', //请求路径
cellMinWidth: 20 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
,skin: 'line ' //表格风格 line (行边框风格)row (列边框风格)nob (无边框风格)
//,even: true //隔行换色
,page: true //开启分页
,limits: [10,20,50] //每页条数的选择项,默认:[10,20,30,40,50,60,70,80,90]。
,limit: 10 //每页默认显示的数量
,method:'post' //提交方式
,cols: [[
{
type:'checkbox'}, //开启多选框
{
field: 'menuId', //json对应的key
title: 'ID', //列名
sort: true // 默认为 false,true为开启排序
}
]]
});
});
只有一个url,也没有属性可以设置请求头!
如何解决:
- 首先 自己封装一个ajax模块
// 定义模块
layui.define(['jquery','myWindow','auth'], function (exports) {
var $ = layui.jquery;
var myWindow = layui