Автоматическое обновление Fullcalendar при изменении БД

Я занимаюсь разработкой приложения с использованием Fullcalendar v1.

Я успешно интегрирую соединение с базой данных mysql, поэтому мои события загружаются из базы данных в виде массива json. Но мое приложение будет использовать более двух человек в один момент, поэтому мне нужно автоматически обновляться после изменений в БД. Если один пользователь удалит событие, календарь обновится для всех остальных пользователей, которые видят этот календарь.

У меня есть один экспериментальный сценарий, который я сделал. Это работает, но не так, как я хочу.
Я знаю, этот сценарий совершенно плох, но я был разочарован.

<script>
var i = setInterval(function(){
last_id = $.cookie('last_id');

$.get("foo.php", function(data) {
var id = data;if(last_id !== id) {

$('#calendar').fullCalendar('changeView', 'month');
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('refetchEvents');
$('#calendar').fullCalendar( 'rerenderEvents');last_id = $.cookie('last_id', data);
}

});
},500);
</script>

Это работает довольно просто … foo.php загружает количество строк. Если этот номер отличается от последнего номера, сохраненного в файлах cookie, календарь будет обновлен.

Этот метод имеет множество недостатков и ошибок. Работает только для удаления и создания событий. Не для перемещения и т.д. И это замедляет приложение, получая результаты каждые 500 мс ..

У вас есть лучшее решение для этого?

2

Решение

У меня похожая структура .. получить данные из БД в виде JSON …

Я делаю модал для изменения события …

Когда я нажимаю кнопку, кто вызывает мою базу данных, чтобы обновить событие ..

Я использую позади … функцию в jQuery, которая называется (.trigger (‘click’)), так что ..

 $('.fc-prev-button').trigger('click');
$('.fc-next-button').trigger('click');
//Hide Modal.. button have a data-dismiss="modal"$('#closeEdit').trigger('click');

Это мои решения, потому что при загрузке fullCalendar этот вызов вызывает .. param, который получает данные из моей базы данных … поэтому, когда вы меняете месяц, он вызывается снова для перезагрузки данных и не загружает весь месяц данными ..

Извините за мой английский, и я надеюсь помочь вам, Happy Coding!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]