From 4d5c7b823a5cbb00e7dfdd16e10f025e98c75234 Mon Sep 17 00:00:00 2001 From: litaohms Date: Fri, 22 Sep 2023 00:11:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20table=20=E7=9A=84=20comple?= =?UTF-8?q?te=20=E5=B1=9E=E6=80=A7=20=20(#1379)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update table.js 追加ajax的complete参数选项,便于获取响应头(response header)的数据。 例如:在refreshToken机制下,当前端Token过期时,后端根据refreshToken生成新的Token,并在响应头里传递到前端,前端就需要从响应头里获取新的token,并替换前端已过期token。 发现过程:在ajax请求时,会接收response里的token信息,进行已过期token的更新,保证系统在长时间操作时,会自动替换新的token,使系统一直处于登录状态,但是如果只是一直在查询列表时,无法更新token,导致自动退出,用户体验感很差。调查发现table没使用全局的ajax请求,所以需求单独处理一下,追加complete函数,获取响应头信息。 * 优化 table 代码细节 --- src/modules/table.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/table.js b/src/modules/table.js index 721dd4de..b69d6e05 100644 --- a/src/modules/table.js +++ b/src/modules/table.js @@ -1027,6 +1027,9 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ dataType: options.dataType || 'json', jsonpCallback: options.jsonpCallback, headers: options.headers || {}, + complete: function(xhr,ts){ + typeof options.complete === 'function' && options.complete(xhr, ts); + }, success: function(res){ // 若有数据解析的回调,则获得其返回的数据 if(typeof options.parseData === 'function'){