Laravel 8 Yajra DataTable在同一页面刷新

Laravel 8 Yajra DataTable refresh on the same page

如何在不返回第一页的情况下刷新当前页码的DataTable? 此代码刷新 table 但继续转到第一页或分页的第一页 link。

$('#table_users').DataTable().ajax.reload();

这就是 table 的初始化方式。

        $(document).ready(function() {
            // init datatable.
            var dataTable = $('#table_users').DataTable({
                processing: true,
                serverSide: true,
                autoWidth: false,
                pageLength: 10,
                // scrollX: true,
                "order": [[ 0, "desc" ]],
                ajax: {
                    url: '{{ route('get_users') }}'
                },
                columns: [
                    {data: 'name', name: 'name'},
                    {data: 'email', name: 'email'},
                    {data: 'sex', name: 'sex'},
                    {data: 'bday', name: 'bday'},
                    {data: 'contact', name: 'contact'},
                    {data: 'scope', name: 'scope'},
                    {data: 'roles', name: 'roles'},
                    {data: 'permissions', name: 'permissions'},
                ]
            });
        });

控制器。

    $user = User::select('id', 'name', 'email', 'sex', 'bday', 'contact', 'scope', 'scope_id')->get();
    return \DataTables::of($user)->make()

用这个替换数据表重新加载,

dataTable.ajax.reload(null, false)

其中 dataTable 是创建数据表的 实例 并将第一个参数设置为 null,即 callback 和第二个参数用于重置分页,因此将其设置为false

让我知道它是否解决了您的问题。

Reference