Устранение проблем с интеграцией бэкенда

Симптомы

  1. При попытке настроить API бэкенда — либо вручную, либо следуя руководствам — вы замечаете, что на странице Gantt не отображаются задачи или связи.

  2. Возникают проблемы с сохранением изменений на бэкенде.

Причины

Существует множество причин, по которым что-то может не работать должным образом, в зависимости от платформы. Это руководство не будет углубляться в проблемы, связанные с конкретными платформами, а сосредоточится на общих шагах, которые помогут вам выявить проблему. Как только вы определите проблему, её решение обычно не составляет труда.

Проверка сообщений об ошибках на странице

  1. Откройте инструменты разработчика в вашем браузере и перезагрузите страницу. Ищите сообщения об ошибках в консоли браузера.

    Проверка ошибок

  2. Если вы заметили какие-либо ошибки, проанализируйте их, чтобы понять, можете ли вы их решить. Если нет, перейдите к следующему шагу.

Проверка клиентских запросов

  1. Перейдите на панель Network в инструментах разработчика и убедитесь, что запросы XHR видны.

  2. Перезагрузите страницу и найдите запрос, ответственный за загрузку данных с бэкенда. Убедитесь, что он указывает на правильный URL и проверьте статус ответа.

    Проверка запроса

Если вы видите ответ 404, это может означать, что URL, переданный методу gantt.init, неверен или есть проблема с настройками маршрутизации вашего приложения.

Анализ ответа сервера

Найдите соответствующий запрос и изучите предварительный просмотр ответа или его содержимое в сыром виде.

Проверка ответа

Соответствует ли ответ ожидаемому формату данных?

Если ответ содержит сообщение об ошибке от веб-сервера

Это указывает на проблему с кодом бэкенда или настройками подключения к базе данных. Ответы с ошибками обычно содержат достаточно информации, чтобы определить причину. Если вы сталкиваетесь с общим сообщением 500 server error, возможно, вам потребуется временно отключить пользовательские страницы ошибок на вашем сервере, чтобы увидеть фактическую ошибку. Способ сделать это зависит от вашей платформы. Поиск в интернете по запросу "disable custom error page in <%your server or framework%>" может помочь вам.

Если данные кажутся в основном правильными

Проверьте свойства id, start_date, end_date, duration и parent:

  • id: Задачи с одинаковым id будут объединены. Например, если у пяти задач одинаковый id, в Gantt отобразится только одна.

  • parent: Задачи со значением parent, совпадающим с root_id config, будут отображаться на корневом уровне дерева задач (по умолчанию это пустое значение, такое как ноль или null). Если свойство parent не пустое и в вашем наборе данных нет совпадающей родительской задачи, задача не будет отображаться.

  • start_date, end_date, duration: Убедитесь, что ваши задачи содержат по крайней мере два из этих свойств, например, start_date и duration. Более подробная информация доступна в статье загрузка дат задач.

Убедитесь, что форматы start_date и end_date соответствуют формату, указанному в настройках формата даты.

Если значения свойств кажутся неверными

Проверьте вашу базу данных, чтобы подтвердить хранимые данные. Если форматы дат не совпадают, вы можете либо изменить настройку date_format, либо модифицировать код, который сериализует даты задач перед отправкой их клиенту.

Проверка данных, загруженных в Gantt

  1. Откройте консоль браузера и выполните gantt.getTaskByTime().

  2. Просмотрите вывод в консоли. Вы должны увидеть массив задач.

    Проверка данных

Проверьте свойства start_date, end_date и parent задач.

Фильтры

Если ничего очевидного не обнаружено, возможно, ваши задачи скрыты фильтром. Проверьте ваш код, чтобы подтвердить это.

Когда все остальное не помогает

Если ни один из вышеперечисленных шагов не сработал, или если задачи и ошибки консоли отсутствуют, рассмотрите возможность размещения вашего вопроса на форуме или обращения в техническую поддержку.

Убедитесь, что вы поделились всей информацией, собранной в ходе выполнения вышеуказанных шагов. Также подготовьте минимально воспроизводимую демонстрацию, такую как:

  • Самостоятельный пакет с упрощённым приложением (страница Gantt, необходимые файлы, дамп базы данных с тестовыми данными или статический JSON-файл с данными, которые вы пытаетесь загрузить).
  • Онлайн-ссылка, позволяющая проверить проблему непосредственно в браузере.
К началу