0

在 laravel 6 应用程序中,我使用 "yajra/laravel-datatables-oracle": "^9.4" 并且我需要选择 1 行并在服务器上运行 ajax 请求以删除此行我尝试使用 draw() 方法刷新表但它没有工作。

在我的刀片文件中:

@push('scripts')

    var oTable;
    $(document).ready(function () {

            oTable = $('#my_tasks_data').DataTable({
                processing: true,
                serverSide: false,
                info: false,
                order: [],
            });
            $('div.dataTables_length select').select2({
                theme: "bootstrap"
            });

            ...
        function taskComplete(rowId) {
            $.ajax({
                url: 'tasks/' + rowId + '/complete',
                type: "post",
                dataType: 'json',
                data: {'_token': '{{csrf_token()}}'},
                success: function (data) {
                    console.log('taskComplete success data::')
                    console.log(data)
                    console.log('oTable::')
                    console.log(oTable)   
                    oTable.draw();  // THat does not work

                    alert( 'AFTER::' )
                },
                error: function (xhr) {
                    console.error(xhr)
                }
            });

        }

我检查 oTable var 并查看:https ://prnt.sc/ujyp14 它看起来像有效的 Table 对象

为什么它不起作用以及如何解决?

谢谢!

4

1 回答 1

0

我发现将 serverSide 属性设置为 true 的决定

oTable = $('#my_tasks_data').DataTable({
    processing: true,
    serverSide: true,

之后方法 oTable.draw() 工作正常

于 2020-09-20T07:42:56.820 回答