Вы должны добавить опцию columns
в свой код данных, чтобы удаленные данные отображались правильно.
$(document).ready(function(){
$('#myTable').DataTable( {
"processing": true,
"serverSide": false,
"order":[],
"ajax": {
"url": '<?php echo site_url('main/getData'); ?>',
"type": "POST",
"data": { '<?php echo $csrf_token_name; ?>' : '<?php echo $csrf_token_hash; ?>' }
},
'columns': [
{ "data": "name", "name": "name"},
{ "data": "last_name", "name": "last_name"},
]
});
});
В вашем методе контроллера ваш ответ JSON структурирован неправильно.Вам необходимо добавить свои записи в элемент «data» выходного массива.
Обновлен метод контроллера:
public function getData()
{
$data['csrf_token_name'] = $this->security->get_csrf_token_name(); // $data has to be passed as second parameter of $this->load->view(..., ....),
$data['csrf_token_hash'] = $this->security->get_csrf_hash();
$table = $this->main_model->data();
if (count($table) > 0)
{
foreach ($table as $row)
{
$tab = array();
$tab["name"] = $row->name;
$tab["last_name"] = $row->last_name;
$r_tab[] = $tab;
}
$output = array(
"data" => $r_tab
);
echo json_encode($output);
}