由於項目寫了一大半需要添加的全局性的東西太多,故封裝了這種修改比較小的方式。
commonRequest.js
layui.define(['jquery','table'], function(exports){ var $ = layui.jquery,table=layui.table; var obj = { ajax: function (obj) { if (!obj.headers) { obj.headers = {
// 兼容IE9 'cache-control': 'no-cache', 'Pragma': 'no-cache', 'Authorization': window.sessionStorage.getItem("token") }; } if (!obj.type) obj.type = "GET"; if (!obj.dataType) obj.dataType = "json"; // 配置為false時,表示不從瀏覽器緩存中獲取數據,調試時可以看到,發Get請求時,會自動加上時間戳 if (!obj.cache) obj.cache = false; if (!obj.async) obj.async = true; obj.crossDomain = true === !(document.all);//這句是關鍵 if (!obj.error) { obj.error = function (err) { layer.msg("網絡連接失敗!"); console.log(err); } } console.log(obj); $.ajax(obj); }, render: function (obj) { obj.headers = { 'cache-control': 'no-cache', 'Pragma': 'no-cache', 'Authorization': window.sessionStorage.getItem("token") }; console.log(obj); table.render(obj); } }; //輸出接口 exports('commonRequest', obj); // 使用的模塊名稱 });
配置configRequest.js
注意:一個html中layui.config只能有一個
layui.config({ base: '../../../../common/' //自定義layui組件的目錄 }).extend({ //設定組件別名 common: 'commonRequest', });
引入
<script src="../../../../common/commonTbRqs.js"></script> // 如果有別的模塊配置在下面使用頁面,這種方法會報錯
使用
layui.use(['table','commonRequest'],function(){ var table=layui.table, commonRequest=layui.commonRequest; // 表格渲染 commonRequest.render({ elem: tableConfig.elem, //指定原始表格元素選擇器(推薦id選擇器) height: tableConfig.height, //容器高度 cols: tableConfig.cols, //設置表頭 url: tableConfig.params ? tableConfig.getUrl() : url, page: tableConfig.page != false ? true : false, where: requestParam, headers: {'Authorization': window.sessionStorage.getItem("token")} }) // ajax請求 commonRequest.ajax({ type: "POST", url: url, data: data, dataType: "json", success: function(data) { } }); })