DataTables和Ajax使用错误“;未捕获类型错误:无法读取属性';长度';“未定义”的定义;
我试图使用dataTable来填充我的表,但我得到以下错误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
"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
});