【问题标题】:Ajax.Reload - Not Refresh DatatableAjax.Reload - 不刷新数据表
【发布时间】:2019-05-26 15:48:14
【问题描述】:

从下拉列表中更改值后,我希望使用新数据更新我的表。

$('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']
                    },
                });

【问题讨论】:

    标签: javascript ajax asp.net-mvc datatables


    【解决方案1】:

    像这样改变你的 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();
            }
      });
    

    【讨论】:

    • 感谢您的回答,但我看不出我的代码有什么不同,您能解释一下您在更改什么吗?
    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2017-07-24
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多