Если вам необходимо выполнить некоторую пользовательскую обработку данных события после их загрузки, вам необходимо использовать шаблон «события как функция», как описано в документации . Затем вам предоставляется функция обратного вызова, которую вы используете для передачи событий обратно в fullCalendar.
Единственным недостатком является то, что вы сами несете ответственность за управление вызовом AJAX. Вот простой пример использования fetch()
events: function(start, end, callback) {
fetch("/appointments/get_events/")
.then((resp) => resp.json()) // Transform the JSON data into a variable
.then(function(data) {
var eventsList = [];
for (var i = 0; i < data.events.length; i++) {
var event = {
title: data.events[i].Title,
start: moment(data.events[i].start)
};
eventsList.push(event);
}
callback(eventsList);
});
}
Демонстрация: http://jsfiddle.net/Le507sqb/1/
Конечно, альтернативный подход - изменить код на стороне сервера, чтобы он выводил JSON в правильномформат, который может понять fullCalendar. Если вы сделаете это, то можете просто указать URL-адрес ваших событий и позволить fullCalendar сделать все остальное:
events: "/appointments/get_events/"