Server Side Processing 1 Million Records Resulting in Error
Server Side Processing 1 Million Records Resulting in Error
Here is my datatables setup
JS:
<script type="text/javascript">
$(document).ready(function () {
$('#users').DataTable({
"processing": true,
"serverSide": true,
"columns": [
{"data": "id"},
{"data": "report_type"},
{"data": "record_date"},
{"data": "name"},
{"data": "insert_time"}
],
"ajax": {
url: 'source.php',
type: 'POST'
}
});
});
</script>
source.php:
$response = array(
"iTotalRecords" => $recordsTotal,
"iTotalDisplayRecords" => 1000,
"draw" => intval($draw),
"recordsTotal" => $recordsTotal,
"recordsFiltered" => $recordsFiltered,
"data" => $data
);
echo json_encode($response);
When I only have a few thousand records, everything works fine (there is more code in source.php but I know it is accurate since the page works with a small dataset). However, once I up that number to 1 million, an error occurs:
DataTables warning: table id=users - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1
Any ideas what the issue is? Thanks
This question has an accepted answers - jump to answer
Answers
Did you follow the instructions in the tech note you linked to? What is the response from the server since it isn't valid JSON?
Allan
I was using a server-side approach but still returning all records at once - I think this resulted in a json array that was too large and got cut off. I took a new approach using ssp.class.php, then re-wrote SSP::simple as a custom function in order to return my results. Everything is working fine now, thanks!
Hi, could you share your custom function?