首页 > 解决方案 > Datatable Ajax重新加载在按钮单击时不起作用

问题描述

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

这是我的数据表代码

  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);
    });

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

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

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

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

table.ajax.processing(null, false);

并坚持这一点。

在此处输入图像描述

标签: javascriptjquerydatatable

解决方案


您没有提及您使用的 DataTable 版本。但是对于许多情况,您可以尝试以下情况:

table.ajax.reload( null, false );

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

从这里引用:https://datatables.net/reference/api/ajax.reload()


推荐阅读