使用PHP的Datatables服务器端脚本问题
作者:互联网
我面临与数据表有关的问题.我有大量的记录(45,000).所以我使用带有“服务器端”编码的数据表.
问题是这样,它在下面的代码中显示以下错误:
错误:
Uncaught TypeError: Cannot set property ‘nTf’ of undefined
// allows cells to be used for multiple columns using colspan
if ( tfoot !== null ) {
var cells = oSettings.aoFooter[0];
for ( i=0, ien=cells.length ; i<ien ; i++ ) {
column = columns[i];
column.nTf = cells[i].cell;
if ( column.sClass ) {
$(column.nTf).addClass( column.sClass );
}
我正在使用的JavaScript代码是:
$(document).ready(function() {
$('#authorsdatatab').dataTable( {
"bPaginate": true,
"processing": true,
"serverSide": true,
"sAjaxSource": "../assets/common/authorsServerSide.php",
});
});
我用于显示服务器端脚本中的列的数据是:
$aColumns = array( 'a_ID', 'a_name', 'a_birth', 'a_death' );
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = "a_ID";
/* DB table to use */
$sTable = "authors";
解决方法:
如果其他人遇到此问题,我发现如果您执行以下操作会发生这种情况:
>使用服务器端处理
>在HTML中指定tfoot
>在DataTables Javascript设置中定义一个列数组,其中不包含tfoot中每个单元格的一个列定义
解决方案是确保Javascript中的列定义与HTML中的实际单元格数相匹配.此问题仍与新的DataTables API相关.
标签:jquery,php,datatable,datatables,php-5-4 来源: https://codeday.me/bug/20190717/1490775.html