数据表Ajax重新加载在单击按钮时不起作用

时间:2019-01-05 16:17:31

标签: javascript jquery datatable

我一直在尝试使用重新加载按钮来加载数据表数据,但是每当我按下按钮时,表就不会重新加载或不加载新内容。

这是我的数据表代码

java.io.FileNotFoundException: class path resource [jmxremote.password] 
cannot be resolved to absolute file path because it does not reside in the 
file system: jar:file:/home/XXX/YYY/target/YYY-1.0-Final.jar!/BOOT-
INF/classes!/jmxremote.password

然后单击“重新加载”按钮时,我将使用此按钮

  var table = $('#m_table_1').dataTable({
        responsive: true,
        searchDelay: 500,
        processing: true,
        serverSide: true,
        ajax: 'http://digitalbulletinboard.xyz/bulletin/sample.php?getLostTable',
        columns: [
            {data: 'id'},
            {data: 'title'},
            {data: 'description'},
            {data: 'Actions'},
        ],
        columnDefs: [
            {
                targets: -1,
                title: 'Actions',
                orderable: false,
                render: function(data, type, full, meta) {
                    console.log(data);
                    return `
                        <span class="dropdown">
                            <a href="#" class="btn m-btn m-btn--hover-brand m-btn--icon m-btn--icon-only m-btn--pill" data-toggle="dropdown" aria-expanded="true">
                              <i class="la la-ellipsis-h"></i>
                            </a>
                            <div class="dropdown-menu dropdown-menu-right">
                                <a class="dropdown-item" href="#"><i class="la la-edit"></i> Edit Details</a>
                                <a class="dropdown-item" href="#"><i class="la la-leaf"></i> Update Status</a>
                                <a class="dropdown-item" href="#"><i class="la la-print"></i> Generate Report</a>
                            </div>
                        </span>
                        <button type="button" class="m-portlet__nav-link btn m-btn m-btn--hover-brand m-btn--icon m-btn--icon-only m-btn--pill" title="View" id="reload">
                          <i class="la la-edit"></i>


          </button>`;
            },
        }
    ],
});

每当我单击重新加载按钮时。什么都没发生。有没有办法来解决这个问题?还是我做错了什么?

我已经尝试过了,但仍然没有任何反应

 $("#reload").click(function () {
        console.log("Reload");
        table.api().ajax.reload(null, false);
    });

编辑1: 将重新加载更改为

 $('#m_table_1').dataTable().api().ajax.reload();

并坚持了这一点。

enter image description here

1 个答案:

答案 0 :(得分:1)

您没有提到您使用的DataTable的版本。但在许多情况下,您可以尝试以下一种方法:

table.ajax.reload( null, false );

至少适用于最新版本的DataTable。

从此处引用:https://datatables.net/reference/api/ajax.reload()