我试图将ajax中的一些数据渲染到数据表中,但似乎我遗漏了一些东西,因为它显示错误:TypeError:c未定义。
我已阅读此帖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>
js code:
$('#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" } */
]
});
答案 0 :(得分:0)
自问这个问题以来已经很久了,但我已经在几个主题中看到了它,所以我将分享我的答案以供将来参考。
此类错误通常(如果不是特别)与HTML 表元素的结构相关。
根据DataTables手册:'为了使DataTable能够增强HTML表,该表必须是有效的,格式良好的HTML,带有标题( thead )和单身( tbody )。也可以使用可选的页脚( tfoot )。'
上面的代码缺少 tbody 标记,这似乎是个问题。
答案 1 :(得分:0)
解决方法是
代替脚踩tbody
格式是您必须要求附上thead和tbody
<table>
<thead>
<tr>
<th>sn</th>
<th>name</th>
<th>address</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<th>Avi chhetri</th>
<th>Nepal</th>
</tr>
</tbody>
</table>