Datatables DataTable服务器端处理,返回数据=null时处理卡住

Datatables DataTable服务器端处理,返回数据=null时处理卡住,datatables,Datatables,一,;当我的搜索查询返回null时,我遇到以下错误 Cannot read property 'length' of null 这是我的数据表js var thisTable = $('#tb').DataTable({ "processing": true, "serverSide": true, "ajax": { url: '/user.js', type

一,;当我的搜索查询返回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
            }
            },

正如我在客户端数据表中所知道的,如果没有数据,它将显示一条消息。如何显示在服务器端处理中也没有发现数据消息?

这是因为Datatables不呈现空值。 使用defaultContent

$('#example').dataTable( {
  "columnDefs": [{
      "data": null,
      "defaultContent": "default content",
      "targets": ['_all']
  }]
} );

引用:

数据不应为空值,请签入
url:'/user.js'
文件,如果数据为空,则返回空字符串,如
data=”“
。 对于php


datatable的行为应该是这样的。

在哪里访问length属性?请出示证件code@fafl:data=由于没有匹配的数据,因此为数据集指定了null。我从json url user.js访问它尝试将此条件写入顶部的数据函数以处理未返回的数据:
if(d==null){console.log(“无数据!”);return;}
$output = array(
            'draw' => 1,
            "recordsTotal" => 10,
            "recordsFiltered" => 10,
            'data' => array()
        );

//some functions to get data called $aaData

$output['data'] = $aaData ?: "";