Я использую DataTable с datatables.net. Я использую Ajax и PHP для динамического заполнения DataTable. Проблема заключается в том, что в DataTable отображается только первая строка из ответа/массива Ajax. Я провел два дня в Интернете, не найдя решения своей задачи.
Как вы можете видеть ниже, я получаю ответ Ajax, который я просматриваю, чтобы создать массив с именем «displayresult». Массив заполняется с помощью array.push. Значения массива используются для заполнения DataTable. Как уже упоминалось, в DataTable отображается только первая строка массива.
Массив выглядит так:
[{"1":"201909074","2":"Джим классный парень","4":"2019-06-05"},
{"1":"201906753","2":"Джейн классная девушка","4":"30 апреля 2019"},
{"1":"201906648","2":"Фофо - крутая собака","4":"2019-04-26"}]
$.ajax({
url: '../../core/search/get_general_search.php',
data:{sok:sok},
dataType: 'json',
success: function(response)
{
console.info(JSON.stringify(response));
var searchResult = response;
var displayresult = [];
for (var i in searchResult)
{
var row = searchResult[i];
var reference = row[1];
var heading = row[2];
var documentDate = row[4];
displayresult.push(reference, heading, documentDate);
}
$('#result_table').DataTable({
"responsive": true,
"searching": false,
"aaData": [displayresult]
});
}
}); //end ajax
Да, это действительно работает с "aaData": response. Без скобок. Необходимо добавить данные в новый массив из-за сортировки данных перед их представлением.

Вам нужно поместить объект в массив, а не значения
displayresult.push({reference, heading, documentDate});
$('#result_table').DataTable({
"responsive": true,
"searching": false,
"aaData": displayresult
});
}
Спасибо, что разъяснили это! Теперь он работает, как ожидалось
Вы пробовали пройти
responseпрямо вaaDataкак"aaData": [response]??