Podczas korzystania z jquery fullCalendar, dlaczego widzę zduplikowane zdarzenia po przełączeniu miesięcy?

jestemprzy użyciu wtyczki fullCalendar jquery i wpadam na dziwny problem.

Kiedy ładuję pierwszy miesiąc (w tym przypadku grudzień 2013), działa dobrze. Wywołuję zdarzenie ajax i zwracam zestaw zdarzeń. Zwracam 40 zdarzeń z mojego serwera i widzę 40 zdarzeń renderowanych.

Następnie przechodzę do następnego miesiąca (styczeń 2014) i również działa dobrze. (41 zdarzeń z serwera i 41 zdarzeń pojawia się w GUI)

Następnie klikam WSTECZ, aby zmienić z powrotem na grudzień 2013 r. I otrzymuję zdarzenie ajax, które zwraca te same 40 zdarzeń (jak powyżej), ale kiedy kalendarz się ładuje, zobacz każde zdarzenie w grudniu zduplikowane (80 GUI jest pokazanych w GUI), mimo że wysyłam tylko 40 z serwera i widzę 40 podczas wywołania zwrotnego zdarzeń.

Oto mój kod:

$('#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);
      }
    });
  }
});

Próbowałem dodać lazyLoading: false, ponieważ założyłem, że jest to jakiś rodzaj buforowania, ale to nie wydaje się rozwiązywać problemu.

Umieściłem punkt przerwania w firebugu na linii

callback(data.RotaEvents)

I widzę 40 wydarzeń, ale 80 scen pojawia się na ekranie podczas scenariusza opisanego powyżej.

Jakieś sugestie?

questionAnswers(4)

yourAnswerToTheQuestion