数据表TypeError:c未定义

Ali*_*udi 40 javascript jquery datatables

我尝试使用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}]}
Run Code Online (Sandbox Code Playgroud)

和我的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" }
        ]
    } );
} );
Run Code Online (Sandbox Code Playgroud)

Chi*_*asa 91

检查您是否添加了

<thead></thead>

<tbody></tbody>
Run Code Online (Sandbox Code Playgroud)

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

所以基本上结构必须像:

<table>
 <thead>
  <tr>
   <th></th>
   <th></th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td></td>
   <td></td>
  </tr>
 </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)


Raj*_*hit 13

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

"columns": [
        null,
        null,
        null,
        {"orderable": false, "width":"2%"},
    ],
Run Code Online (Sandbox Code Playgroud)

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

<tr>
   <td>A</td>
   <td>B</td>
   <td>C</td>
   <td>D</td>
   <td>E</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

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

"columns": [
        null,
        null,
        null,
        null, //Added New
        {"orderable": false, "width":"2%"},
    ],
Run Code Online (Sandbox Code Playgroud)


dav*_*rad 6

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

"ajax": {
    "dataSrc": "Data", //<--- place dataSrc here instead
    "type": "POST",
    ...
}
Run Code Online (Sandbox Code Playgroud)

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


小智 5

就我而言,我不得不从thead内部的th中删除colspan属性,并消除错误;(