数据表类型错误: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用于绘制表的数据数组
我希望你没有同样的分心......