DataTables和Ajax使用错误“;未捕获类型错误:无法读取属性';长度';“未定义”的定义;

DataTables和Ajax使用错误“;未捕获类型错误:无法读取属性';长度';“未定义”的定义;,ajax,datatables,Ajax,Datatables,我试图使用dataTable来填充我的表,但我得到以下错误 "jquery.dataTables.min.js:49 Uncaught TypeError: Cannot read property 'length' of undefined" 我读过很多关于这个主题的帖子,但我看不出我错在哪里 桌子 <table name="timeline" border="0" cellpadding="0" cell

我试图使用dataTable来填充我的表,但我得到以下错误

"jquery.dataTables.min.js:49 Uncaught TypeError: Cannot read property 'length' of undefined"
我读过很多关于这个主题的帖子,但我看不出我错在哪里

桌子

<table name="timeline" border="0" cellpadding="0" cellspacing="0" class="table table-striped" 
    id="wayfinderSignageTable" style="width:100%" data-role="datatable" data-info="false">
  <thead>
  <tr class="CenterHeader">
    <th>Wayfinder</th>
    <th>Promotion</th>
    <th>From</th>
    <th>To</th>
    <th>RecordID</th>
  </tr>
  </thead>
  <tbody>
  </tbody>
</table>
返回的JSON

[{"RecordID":"104","DisplayName":"Main reception","Promotion":"EXBHX Test 1","RoomFromDate":"20-09-2019","RoomToDate":"30-09-2019"},
{"RecordID":"105","DisplayName":"Main reception","Promotion":"EXBHX Test3","RoomFromDate":"20-09-2019","RoomToDate":"30-09-2019"},
{"RecordID":"106","DisplayName":"Conference centre","Promotion":"EXBHX Test 4","RoomFromDate":"20-09-2019","RoomToDate":"30-09-2019"},
{"RecordID":"107","DisplayName":"Conference centre","Promotion":"EXBHX Test 4","RoomFromDate":"20-09-2019","RoomToDate":"30-09-2019"}]
非常感谢您的帮助和时间。

原因 错误无法获取未定义或空引用(IE)的属性“length”,或者无法使用jQuery DataTables读取未定义(其他浏览器)的属性“length”,通常意味着插件无法访问Ajax请求中的数据

解决方案 使用选项并将其设置为空字符串,如下所示,以匹配JSON响应

$('#wayfinderSignageTable').DataTable({
   ajax: {
      url: 'get_wayfinder_signage.php', 
      dataSrc: ''
   },
   // .. skipped
});
链接

@wazz嗨,你做了什么编辑?我想只是格式化html表格,以删除水平滚动。顺便说一句,我想这方面有一些问题,但我不确定问题出在哪里。我的第一个猜测是它与弹出窗口有关,但真的不确定。@DCJones,谢谢!作为旁注,您应该在
ajax
属性下移动
键入:“POST”
$('#wayfinderSignageTable').DataTable({
   ajax: {
      url: 'get_wayfinder_signage.php', 
      dataSrc: ''
   },
   // .. skipped
});