20

我正在将 jquery 数据表集成到我的项目中。当调用服务时,一些错误是如何抛出的

无法读取未定义的属性“分类”

这是代码

时间线

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script  src="js/jquery.dataTables.js"></script>

<body>

<script>

$(document).ready( function() {
  $('#example').dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "URL",
    "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
    console.log(aoData);
      oSettings.jqXHR = $.ajax( {
        "dataType": 'json',
        "type": "POST",
        "url": sSource,
        "data": aoData,
        "success": fnCallback
      } );
    }
  } );
} );

</script>

<div id="dvContent">
 <table cellpadding="0" cellspacing="0" border="0"  id="example">

 </table>
</div>

</body>

这是服务器的示例输出

{"some":"yyy", "open":null, "program":1, "more":"must", "comment":000 }

4

5 回答 5

37

您的表需要一个 THEAD 部分和一个 TBODY 部分:

<table cellpadding="0" cellspacing="0" border="0"  id="example">
   <thead><tr><th>First Column</th><th>Second Column etc.</th></tr></thead>
   <tbody>
   </tbody>
</table>

注意:您的 THEAD 不能为也很重要,因为 dataTable 要求您指定预期数据的列数,如<tr><th></th></tr>

于 2013-05-01T11:03:21.620 回答
2

除了上面@bumptious 的观点,重要的是要注意 THEAD 部分不能为空;dataTables 需要<tr><th>column1</th></tr>内容作为表格中的占位符。

于 2014-04-29T17:05:16.977 回答
1

当您使用“order”子句并引用不存在的字段/列时,也会发生此错误。

于 2015-04-22T15:22:12.400 回答
0

谢谢,

表应该有 & 部分。

于 2015-05-21T16:25:01.530 回答
0

确保表格的数据列数 td 等于标题列 th。

于 2016-08-22T08:39:18.093 回答