1. При реализации backend API вручную или следуя нашим инструкциям, Scheduler не отображает события на странице.
или
2. Возникают трудности с сохранением изменений в backend.
Причины и решения некорректного поведения могут различаться на разных платформах, и в этой статье они не рассматриваются.
Задача данной статьи — провести вас через типовые шаги по поиску и анализу подобных проблем. После того, как проблема будет найдена и понята, её исправление обычно не составляет труда.
1. Откройте инструменты разработчика в браузере и перезагрузите страницу. Появляются ли сообщения об ошибках в консоли?
2. Если ошибки есть, проанализируйте их и проверьте, сможете ли устранить их самостоятельно. Если нет — переходите к следующему шагу.
1. Откройте вкладку Network и убедитесь, что видны запросы XHR.
2. Перезагрузите страницу и найдите запрос, отвечающий за загрузку данных с backend. Убедитесь, что он отправляется по правильному URL, и проверьте статус ответа.
Есть ли ошибки?
Статус 404 означает, что либо URL, переданный в метод scheduler.init
, указан неверно, либо есть проблема с настройками маршрутизации вашего приложения.
Выберите нужный запрос и посмотрите предварительный просмотр ответа или его содержимое.
Похоже ли содержимое на ожидаемый формат данных?
Это говорит о проблеме с кодом backend или настройками соединения с базой данных.
Обычно ответ с ошибкой содержит достаточно информации для поиска причины. Если вы видите только стандартную ошибку 500 server error
, возможно, потребуется временно отключить пользовательские страницы ошибок на сервере, чтобы увидеть реальное сообщение об ошибке. Способ зависит от вашей платформы. Если вы не уверены, попробуйте поискать "disable custom error page in <%your server or framework%>".
Внимательно проверьте свойства id
, start_date
и end_date
.
id
— события с одинаковым id объединяются. Если у пяти событий одинаковый id, будет показано только одно.
start_date
, end_date
— убедитесь, что формат дат соответствует формату, указанному в настройке date_format Scheduler.
Если формат даты не соответствует ожиданиям Scheduler, события могут иметь некорректные даты и не отображаться, либо отображаться на неправильные даты.
Обычно xml_date
задаётся до вызова scheduler.init
следующим образом:
scheduler.config.xml_date="%Y-%m-%d %H:%i";
Проверьте данные, хранящиеся в вашей базе данных; скорее всего, проблема именно там. Если форматы дат не совпадают, либо обновите настройку date_format, либо исправьте код, который сериализует даты задач перед отправкой клиенту.
1. Откройте консоль браузера и выполните команду scheduler.getEvents()
.
2. Посмотрите вывод в консоли — это должен быть массив событий.
Обратите внимание на поля start_date
и end_date
в некоторых записях. Если вы видите invalid date
или неожиданные значения вроде 1970 или 2038 года, это указывает на проблему с форматом date_format.
Если вы используете расширение recurring, метод scheduler.getEvents() не вернёт данные, если не указать параметры дат from
/to
. Для этой проверки попробуйте временно убрать расширение recurring со страницы.
Если вы используете представления Units или Timeline, события могут не отображаться, если они не привязаны ни к одному разделу unit или timeline.
Для проверки можно установить skip_incorrect:false
для Units view:
scheduler.createUnitsView({
name:"unit",
...
skip_incorrect:false
});
Или show_unassigned: true
для Timeline view:
scheduler.createTimelineView({
name:"timeline",
...
show_unassigned: true
});
Если это ваш случай, события появятся в первом разделе Units/Timeline после обновления конфигурации и перезагрузки. Затем проверьте настройки property
или y_property
в Units или Timeline, а также соответствующие свойства событий.
Если явных проблем не найдено, проверьте код на предмет того, не скрываются ли события фильтром.
Если ни один из шагов не помог, либо не отображаются события и нет ошибок в консоли, попробуйте задать вопрос на нашем форуме или обратиться в техническую поддержку.
Обязательно приложите всю собранную информацию по этим шагам.
Кроме того, нашей команде потребуется минимальный воспроизводимый пример: либо отдельный архив с упрощённым приложением (страница scheduler, все необходимые файлы, дамп базы данных с тестовыми данными или статический JSON-файл с загружаемыми данными), либо онлайн-ссылка, где проблему можно проверить прямо в браузере.
Наверх