当前请求在Datatable中启动时中止先前的请求

时间:2017-08-10 12:04:27

标签: jquery datatable abort

我将此代码用于DataTable ...

$('#table').DataTable({
    "destroy": true,
    "processing": true,
    "serverSide": true,
    "columnDefs": [{
            "targets": 0,
            "orderable": false
        }],
    "ajax": {
        url: baseURL + checkVal,
        type: "post",
        xhr: function () {
            var xhr = $.ajaxSettings.xhr();
            xhr.upload.onprogress = function (e) {
                xhr.abort(); //abort all current request here
            };
            return xhr;
        },
        error: function () {
            $(".employee-grid-error").html("");
            $("#table").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
        }
    },
    'initComplete': function (settings, json) {
        //code here
    }
});

当我中止它将中止所有当前请求...我想在当前请求开始运行时停止所有先前的请求...如何做...

我使用了您在答案中发布的所有代码。但我无法在任何地方获得 settings.jqXHR settings.jqXHR.abort()的任何值......

请帮助我如何中止以前的所有请求..

提前致谢:)

1 个答案:

答案 0 :(得分:0)

  

嘿同样的问题在这里,但我设法修复它。这就是我使用DataTables 1.10.16

的方法
var table = $('#table').DataTable({
    ajax: {
        url: '/datatable',
        type: 'POST',
        beforeSend: function() {
            if (table.hasOwnProperty('settings')) {
                table.settings()[0].jqXHR.abort();
            }
        }
    }
});