I'm trying to use jQuery DataTables with server-side PHP using AJAX.
My Ajax call is simple as:
$(document).ready(function() {
$("#dataTable").DataTable( {
serverSide: true,
ajax: "systemlog/loadData",
} );
} );
And here is my PHP code:
$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;
And my returned JSON is like:
{"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."}]}
All done but I´m getting the following error from DataTables at client side:
DataTables warning: table id=dataTable - Requested unknown parameter '0' for row 0.
No data is shown on screen.