数据表类型错误:c未定义

我尝试使用jQuery DataTables,但我得到了错误

TypeError:c未定义

我不知道我的代码有什么问题,因为我可以看到JSON正确检索并且格式正确但我不知道它有什么问题我得到了上述错误。

我的JSON:

{"Data":[{"LOGIN":10184},{"LOGIN":10214},{"LOGIN":10180},{"LOGIN":10187},{"LOGIN":10179},{"LOGIN":10280},{"LOGIN":201},{"LOGIN":10238},{"LOGIN":10296},{"LOGIN":10312}]} 

和我的DataTables代码:

 $(document).ready(function() { $('#tablename').dataTable( { "processing": true, "serverSide": true, "ajax": { "type": "POST", "url": "https://test.com/api/db/select", "data": function ( json ) { return JSON.stringify( { "Sql": 12 } );}, "contentType": "application/json; charset=utf-8", "dataType": "json", "processData": true, beforeSend : function(xhr){ var access_token = sessionStorage.getItem('access_token'); xhr.setRequestHeader('Authorization', 'Bearer ' + access_token); } }, "dataSrc": "Data", "columns": [ { "data": "LOGIN" } ] } ); } ); 

dataSrc是一个特殊的dataTables ajax选项,应该包含在ajax对象中:

 "ajax": { "dataSrc": "Data", //<--- place dataSrc here instead "type": "POST", ... } 

你已将它放在ajax之外,并且由dataTables不知道使用什么源(除了盲目地尝试ajax响应)或LOGIN所属的地方。

检查您是否添加了

   

我通过添加它来解决这个问题。

所以基本上结构必须像:

 

有时,通过使用HTML和datatables列修复不匹配/不相等的列来实现此类型问题。

 "columns": [ null, null, null, {"orderable": false, "width":"2%"}, ], 

以上javascript定义了4列,HTML有5列

  A B C D E  

因此,您必须修复/等于HTMl和Datatable配置。

 "columns": [ null, null, null, null, //Added New {"orderable": false, "width":"2%"}, ], 

在我的情况下,我不得不从thead内部删除colspan属性并摆脱错误;(

在我的情况下,我得到了相同的错误,因为我使用ajax.dataSrc(数据)函数来操纵数据。 但在那之后我忘了返回数据。

 "dataSrc": function ( json ) { for ( var i=0, ien=json.data.length ; i 

几分钟后,我检查了ajax.dataSrc函数的文档,我注意到我没有返回:

返回:数组 。 DataTables用于绘制表的数据数组

我希望你没有同样的分心......