我在搜索查询返回null时遇到以下错误。
Cannot read property 'length' of null
这是我的数据表js
var thisTable = $('#tb').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
url: '/user.js',
type: 'POST',
data: function ( d ) {
d.r1 = $('#custom1').val();
d.r2 = $('#custom2').val();
// etc
}
},
正如我所知,在客户端数据表中,如果没有数据显示消息。如何在服务器端处理中显示没有数据找到消息?
答案 0 :(得分:0)
这是因为Datatables不会呈现空值。 使用defaultContent。
$('#example').dataTable( {
"columnDefs": [{
"data": null,
"defaultContent": "default content",
"targets": ['_all']
}]
} );
参考:https://datatables.net/reference/option/columns.defaultContent
答案 1 :(得分:0)
data souldnt为空值,检入url: '/user.js'
文件,如果data为空,则返回data=""
之类的空字符串。
用于php
$output = array(
'draw' => 1,
"recordsTotal" => 10,
"recordsFiltered" => 10,
'data' => array()
);
//some functions to get data called $aaData
$output['data'] = $aaData ?: "";
数据表行为将是应该的。