Я используя плагин jQuery fullCalendar, и у меня возникает странная проблема.
Когда я загружаю первый месяц (декабрь 2013 года в этом случае), он работает нормально. Я вызываю событие ajax и возвращаю набор событий. Я возвращаю 40 событий с моего сервера и вижу 40 событий.
Затем я перехожу к следующему месяцу (январь 2014 года), и он также отлично работает. (41 событие с сервера и 41 событие отображаются в графическом интерфейсе)
Затем я нажимаю BACK, чтобы вернуться к декабрю 2013 года, и я получаю событие ajax, которое возвращает те же 40 событий (как указано выше), но при загрузке календаря он видит каждое событие в декабре, дублируемое (в графическом интерфейсе отображаются 80 событий), хотя я только отправляю обратно 40 с сервера, и я вижу 40 во время обратного вызова событий.
Вот мой код:
$('#calendar').fullCalendar({
header: {
left: 'prev,next title today',
right: ''
},
lazyFetching: false,
editable: false,
timeFormat: 'H:mm{-H:mm} ',
viewDisplay: function (view) {
ViewDisplay();
},
events: function (start, end, callback) {
$('#Month').val($('#calendar').fullCalendar('getDate').getMonth() + 1);
$("#Year").val($('#calendar').fullCalendar('getDate').getUTCFullYear());
var serializedFormInfo = $('#rotaForm').serialize();
$.ajax({
url: '/SupportRota/GetEvents/',
dataType: 'json',
cache: false,
data: serializedFormInfo,
success: function (data) {
callback(data.RotaEvents);
}
});
}
});
Я попробовал добавить lazyLoading: false, поскольку я предположил, что это своего рода кеширование, но это, похоже, не решает проблему.
Я поставил точку останова в firebug на линии
callback(data.RotaEvents)
И я вижу 40 событий, но 80 событий появляются на экране во время описанного выше сценария.
Любое предложение?