My dataTables время от времени выдает ошибку «INVALID JSON», когда я выбираю «All» из lengthMenu select input. Кто-нибудь знает, что является причиной проблемы. Вот мой скрипт dataTables:
var dataTable = $('#info-table').DataTable({
dom: 'lfrtipB',
processing: true,
serverSide: true,
orderable: false,
ajax: {
url: 'core.php',
type: 'POST',
data: {action: 'fetch'},
dataType: 'json',
},
searchable: true,
pageLength: 10,
lengthMenu: [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
});
Это также мой процесс на сервере:
$query = 'SELECT * from archive ';
if (isset($_POST['search']['value'])) {
$query .= 'WHERE sid LIKE "%' . $_POST["search"]["value"] . '%" ';
}
if (isset($_POST['length']) and $_POST['length'] != -1) {
$query .= 'LIMIT ' . $_POST["start"] . ', ' . $_POST["length"] . ' ';
}
$statement = $conn->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$filteredrows = $statement->rowCount();
$data = array();
foreach ($result as $row) {
$subarray = array();
$subarray[] = $row['sid'];
$subarray[] = $row['fname'] .' '. $row['lname'];
$data[] = $subarray;
}
$output = array(
'draw' => intval($_POST['draw']),
'recordsTotal' => $filteredrows,
'recordsFiltered' => $dbs->getTotalRecords('students'),
'data' => $data
);
echo json_encode($output);
exit();
Некоторые очки
- Я использую dataTables версии 1.10
- Иногда он просто выбрасывает недействительным json ошибка (все же, как крошечная ошибка, ее следует избегать).
- При возникновении ошибки, обращаясь к панели проверки Chrome, json возвращается успешно; однако он выдает недопустимую ошибку json.
- Это не просто опция «Показать все», очень редко в длинном меню «100» также возникает та же проблема. Но в большинстве случаев он работает правильно.
- dataTables никогда не встречается с ошибкой, когда я выбираю 10, 20 и 50 из lengthMenu выберите вход. PHP файл журнала ошибок '.
- У меня около 1000 строк в таблицах данных.
- Я использую последнюю версию WampServer (3.1.7) и работаю PHP 7.3.
- На сайте StackOverflow или на сайте dataTables нет ничего особенного в отношении проблемы.
Любая помощь будет принята с благодарностью!