TypeError C 是未定义的数据表

Joa*_*nel 2 javascript datatables

我正在尝试将使用 ajax 获得的一些数据呈现到数据表中,但似乎我遗漏了一些东西,因为它显示了错误:TypeError: c is undefined。

我读过这篇文章Datatables TypeError: c is undefined,但给出的任何解决方案都没有解决我的问题。任何人都有可以帮助我的想法?谢谢你。

html代码:

<table id="itinerariDetailTable" class="table table-sm table-striped table-bordered" style="font-size: x-small;">
                        <thead class="thead-inverse">
                            <tr>
                                <th>Id</th>
                                <th>Codi</th>
                                <th>Descripció</th>
                                <th>Temporada</th>
                                <th>Districte</th>
                                <th>Barri</th>
                                <th>C. Treball</th>
                                <th>G. Servei</th>
                                <th>T. Servei</th>
                                <th>Máquina</th>
                                <th>Corretorn</th>
                                <th>Torn</th>
                                <th>Tipus Día</th>
                                <th>Equips</th>
                                <!-- <th>Jornades</th>
                                <th>Cost unitari</th>
                                <th>T. Itinerari</th>
                                <th>Escenario</th> -->                              
                            </tr>
                        </thead>
                        <tfoot>
                            <tr>
                                <th>Id</th>
                                <th>Codi</th>
                                <th>Descripció</th>
                                <th>Temporada</th>
                                <th>Districte</th>
                                <th>Barri</th>
                                <th>C. Treball</th>
                                <th>G. Servei</th>
                                <th>T. Servei</th>
                                <th>Máquina</th>
                                <th>Corretorn</th>
                                <th>Torn</th>
                                <th>Tipus Día</th>
                                <th>Equips</th>
                                <!-- <th>Jornades</th>
                                <th>Cost unitari</th>
                                <th>T. Itinerari</th>
                                <th>Escenario</th> -->                              
                            </tr>
                        </tfoot>
                    </table>
Run Code Online (Sandbox Code Playgroud)

js代码:

$('#itinerariDetailTable').DataTable( {
        "processing": true,
        "serverSide": true,
        "ajax":{
            "url":'/escenaris/selectById',
            "type":'GET',
            "data": function(d){
                d.idEscenari = $('#idEscenari').val();                  
            }
        },
        "order": [[ 0, "asc" ]],
        "columns": [
            { "data": "idItinerari" },
            { "data": "codiItinerari" },
            { "data": "descripcio" },
            { "data": "temporada.codiTemporada" },
            { "data": "districte" },
            { "data": "barri" },
            { "data": "centreTreball" },
            { "data": "grupServei" },
            { "data": "tractamentRecursos" },
            { "data": "maquinaCombustible" },
            { "data": "corretorn" },
            { "data": "torn" },
            { "data": "tipusDia" },
            { "data": "nombreEquips" }
            /*{ "data": "frequencia" },
            {"data": "resultatItinerari.costUnitari", "defaultContent": "0" },
            { "data": "tipusItinerari.codiTipusItinerari" }/*,                          
            { "data": "escenari.idEscenari" }           */  
        ]
    });
Run Code Online (Sandbox Code Playgroud)

She*_*end 5

自从提出这个问题已经很长时间了,但我已经在几个线程中看到了它,所以我将分享我的答案以供将来参考。

这种类型的错误通常(如果不是特别的话)与 HTML表格元素的结构有关。

根据 DataTables 手册:“要使 DataTables 能够增强 HTML 表格,表格必须是有效的、格式正确的 HTML,具有标题 ( thead ) 和单个正文 ( tbody )。也可以使用可选的页脚 ( tfoot )。

上面的代码缺少tbody标签,这似乎是问题所在。