数据表类型错误:未定义数据


Datatables TypeError: aData is undefined

我想用表中的数据库值填充数据表。下面是我的代码清单,一切似乎都很好,但返回一个错误"TypeError: aData是未定义的",所以数据表没有创建

<script type="text/javascript">
$(document).ready(function() {
    $('#listax').dataTable({
        "bProcessing": true,
        "bLengthChange": true,
        "bFilter": true,
        "bSort": true,
        "bInfo": true,
        "bAutoWidth": true,
        "bServerSide": true,
        "sServerMethod": "POST",
        "sAjaxSource": "<?php echo base_url(); ?>ajax_live/getUsers",
        "aoColumns": [
            null,
            null //put as many null values as your columns
        ]
    });
});
</script>
<table id="listax"></table>
服务器端

 function getUsers(){
     $this->db->select('id,username');
     $query = $this->db->get('user');
     $data = $query->result();
     echo json_encode($data); 
 }

json encode

返回的数据
[
    {"id":"6","username":"Lab23"},
    {"id":"11","username":"MaryMM"}
]

当我这样做时,我必须定义列。
返回数组示例;

Array
(
    [0] => stdClass Object
        (
            [id] => 6
            [username] => "Lab23"
        )
    [1] => stdClass Object
        (
            [id] => 11
            [username] => "MaryMM"
        )
)

所以如果你的json编码数组的键值id用户名的数据表将有以下段在它。

$(document).ready(function() {
    $('#listax').dataTable({
        "bProcessing": true,
        "bLengthChange": true,
        "bFilter": true,
        "bSort": true,
        "bInfo": true,
        "bAutoWidth": true,
        "bServerSide": true,
        "sServerMethod": "POST",
        "sAjaxSource": "<?php echo base_url(); ?>ajax_live/getUsers",
        "aoColumns":[
            {"mDataProp":"id"},
            {"mDataProp":"username"}
        ]
    });
});