我正在使用完整日历v1开发应用程序。
我成功地集成了到mysql数据库的连接,所以我的事件作为json数组从db加载。但我的应用程序将在一分钟内使用2000多人,所以我需要在数据库更改后自动刷新。如果一个用户删除事件,则为查看此日历的所有其他用户刷新日历。
我有一个我做的实验脚本。它起作用了,但没有我想要的那么好。我知道,这个剧本很糟糕,但我很沮丧。
<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毫秒获得结果来减缓应用程序。
你有更好的解决办法吗?
发布于 2017-09-05 12:04:46
我有类似的结构。以JSON的形式从DB获取数据..。
我做了一个改变事件的模式..。
当我按下调用我的db来更新事件的按钮时..
我用在后面..。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时,这个调用事件。从我的数据库里得到数据的人..。因此,当您更改月份时,将再次调用它来重新加载数据,并且不使用数据加载整个月。
对不起,我的英语和我希望帮助您,快乐编码!
https://stackoverflow.com/questions/27110999
复制相似问题