«Предупреждение DataTables: неверный ответ JSON» и «Ошибка: элемент контейнера графика не найден» - PullRequest
1 голос
/ 16 июня 2019

Я разработчик bearpk.space .На моей странице dashboard.php (к которой вы не можете получить доступ, но чей источник здесь ), я вижу это сообщение об ошибке, которое появляется в середине экрана:

Предупреждение DataTables: таблица id = dataTables-example - Неверный ответ JSON.Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/1

, и Developer Tools показывает это:

Я не уверен, с чего начать это исправлять.Я посмотрел другие вопросы «Элемент графика не найден» на StackExchange, а также ссылку в сообщении об ошибке.

А что с dataTables-example здесь не так?

1 Ответ

0 голосов
/ 17 июня 2019

Вы столкнулись с двумя независимыми ошибками - одна из DataTables (плагин расширенных таблиц jQuery) и одна из morris.js (библиотека графиков).

DataTables

Ошибка всплывающего окна возникает из-за того, что DataTables загружает необходимые данные из ajax.php?content=playerList. Однако ваш веб-сервер не возвращает допустимый JSON из-за сообщения об ошибке PHP. DataTables получает это как ответ XHR:

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home1/bearlolz/public_html/ajax/ajax.php</b> on line <b>14</b><br />
{"data":[]}

Поскольку перед началом JSON существует мусор, DataTables не может проанализировать ответ и выдает сообщение об ошибке. Либо исправьте ошибку в вашем PHP, которая вызывает ошибку, либо подавьте сообщение об ошибке PHP с помощью ini_set("display_errors", 0);

morris.js

Ошибка консоли возникает из-за того, что в dashboard.php:

<?php $template->scripts(); ?>

Что вводит в HTML:

<script src="bin/data/morris-data.js"></script>

Выполняет morris-data.js, который пытается создать графики для элементов DOM со значениями id morris-area-chart, morris-donut-chart и morris-bar-chart. Но в HTML нет таких элементов, поэтому библиотека morris выдает ошибку, которая заканчивается в консоли.

...