请求未知参数'0'对于第0行


Requested unknown parameter '0' for row 0

我正在尝试使用jQuery数据表与服务器端PHP使用AJAX。

我的Ajax调用很简单:

$(document).ready(function() {
    $("#dataTable").DataTable( {
        serverSide: true,
        ajax: "systemlog/loadData",
    } );
} );
下面是我的PHP代码:
        $logList = 'Models'SysLog::all($where, $fields, $order, $direction);
        $data = array();
        foreach ($logList as $sysLog)
        {
            $data[] = array("logDateTime" => $sysLog->logDateTime,
                            "logType" => $sysLog->logType,
                            "source" => $sysLog->source,
                            "user" => $sysLog->user,
                            "message" => $sysLog->message); 
        }
        $retData = array (
                "draw" => $draw,
                "recordsTotal" => count($sysLogList),
                "recordsFiltered" => count($sysLogList),
                "data" => $data
                );
        $result = json_encode($retData);
        echo $result;

返回的JSON是:

{"draw":"1","recordsTotal":30,"recordsFiltered":30,"data":[{"logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Program start."},{"logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Starting handler."},{"logDateTime":0,"logType":"INFO","source":"sys","user":"sys","message":"Starting persistance updater."}]}

都完成了,但我从客户端数据表中得到以下错误:

数据表警告:表id=dataTable -请求的未知参数'0'为行0。

屏幕未显示数据

当使用Objects作为数据源时,您需要使用columns.data选项来定义哪个属性对应于哪个列。

例如:

$("#dataTable").DataTable( {
    serverSide: true,
    ajax: "systemlog/loadData",
    columns: [
       { data: "logDateTime" },
       { data: "logType" },
       { data: "source" },
       { data: "user" },
       { data: "message" }
    ]
} );