DataTables Ajax 会话过期处理

DataTables Ajax handling for session expiry

我正在使用 Datatables服务器端处理 进行数据加载。

对于当前的实现,table 数据生成没有任何错误,除非存在 会话到期 服务器超时

我想处理服务器端异常,如果一切正常,应该加载 table 数据。

下面是函数

let scheduler_name  =   $("#sche_name").val().trim();

$('#monitor_scheduler_tbl').DataTable( { 
    "aoColumnDefs": [
    { 'bSortable': true, 'aTargets': [0,1,2,3] },{ "bSearchable": false,'aTargets': [-1] }], 
    "processing": true,
    "bDestroy": true,
    "bFilter":false,
    "serverSide": true,
    "ajax": {
        "url": config.yaws_file_path + "css_monitor_scheduler.yaws",
         "data": function ( d ) {
            d.action            = "SEARCH_SCHEDULER",
            d.scheduler_name    = scheduler_name;
        },
        "complete": function(response){

            res = JSON.parse(response.responseText);

            if(error = res['err'])
            {
                objApp.showToastMessage('error', error);
            }
        }
    }
});

在服务器端,您应该根据不同的情况使用 HTTP 错误代码进行响应。

在客户端,您可以为识别这些响应代码的 dataTables 定义一个 ajax 错误处理程序:

"ajax": {
  "error" = function (jqXHR, textStatus, error) {
    if (jqXHR && jqXHR.status == 440) {
      // Session expired - do something here
    } else if (jqXHR && jqXHR.status == 408) {
      // Request timeout - do something here
    } else {
      // Some other error - do something here
    }
  }