Ajax.Reload - Не обновляется. - PullRequest
0 голосов
/ 29 декабря 2018

После изменения значения из раскрывающегося списка я хочу, чтобы моя таблица обновлялась новыми данными.

$('table').DataTable().ajax.reload();

Однако у меня появляется следующая ошибка:

DataTables warning: table id=tblCategory - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

У меня тожеследующая ошибка в браузере консоли

Uncaught TypeError: Cannot set property 'data' of null
at sa (datatables.min.js:48)
at Sb (datatables.min.js:119)
at s.<anonymous> (datatables.min.js:120)
at s.iterator (datatables.min.js:111)
at s.<anonymous> (datatables.min.js:120)
at Object.reload (datatables.min.js:114)
at Object.success (pagos_tipos.js:72)
at i (jquery-3.2.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
at A (jquery-3.2.1.min.js:4)

Я пытаюсь обновить таблицу следующим кодом:

                $("#ComboMagic").change(function () {
             var time = $('#ComboMagic').find('option:selected').val();

             $.ajax({
                url: "@Url.Action("ReloadTable","Facturas")",
                traditional: true,
                type: "POST",
                cache: "false",
                dataType: "json",
                data: { "time": time },
                success: function (response) {
                    $('#table').DataTable().ajax.reload();
                }
            });
        });

Я использую ajax для подачи данных:

 $(document).ready(function () {
            $("#table").DataTable({
                    'scrollX': true,
                    'language': {
                        "lengthMenu": "Mostando _MENU_ registros",
                        "zeroRecords": "No se ha encontrado ningun registro",
                        "info": "Mostrando _PAGE_ de _PAGES_",
                        "infoEmpty": "No existe información disponible",
                        "infoFiltered": "(Filtrando de _MAX_ registros totales)",
                        "search": "Buscar:",
                        "paginate": {
                            "first": "Primera",
                            "last": "Ultima",
                            "next": "Siguiente",
                            "previous": "Anterior"
                        },
                        'ajax': {
                            "url": "@Url.Action("Index","Facturas")",
                            "type": "POST",
                            "dataSrc": ''
                        },

                        'columns': [
                            { data: "NumFactura"},
                            { data: "Sucursal"},
                            { data: "Fecha" },
                            { data: "GranTotal"},
                            { data: "EstadoFactura" },
                        ],
                        "order": [0, 'desc']
                    },
                });

1 Ответ

0 голосов
/ 29 декабря 2018

Измените свой код ajax немного подобным образом и попробуйте снова

$.ajax({
        url: "@Url.Action("ReloadTable","Facturas")",
        traditional: true,
        type: "POST",
        cache: "false",
        dataType: "json",
        data: { time: time },
        success: function (response) {
            $('#table').DataTable().ajax.reload();
        }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...