jquery datatable最后版本自定义参数

时间:2017-01-02 08:21:57

标签: jquery datatables

我使用jquery datatable的最后一个版本。

我的应用程序使用服务器端过滤。

当我尝试添加自定义参数时出现错误:

工作代码

 oTable = $('#kid_list_table').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                'url': url,
                "type": "POST",
                'beforeSend': function (request) {
                    request.setRequestHeader("Authorization", 'Bearer ' + authData.token);
                 }
            });

添加自定义参数时失败

 oTable = $('#kid_list_table').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                'url': url,
                "type": "POST",
                'beforeSend': function (request) {
                    request.setRequestHeader("Authorization", 'Bearer ' + authData.token);
                 }
            },
            "data": function ( d ) {
                d.extra_search = "test";
            });

错误: TypeError:无法读取未定义的属性“DT_RowId”

enter image description here

如何添加自定义参数而不会出现此错误

谢谢!

1 个答案:

答案 0 :(得分:3)

你需要把操作数据对象的函数放在 ajax函数中:

oTable = $('#kid_list_table').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                "url": url,
                "type": "POST",
                "data": function ( d ) {
                    d.extra_search = "test";
                },
                "beforeSend": function (request) {
                    request.setRequestHeader("Authorization", 'Bearer ' + authData.token);
                 }
            });

数据表文档:https://datatables.net/reference/option/ajax