Javascript 使用FullCalendar预加载多个月

Javascript 使用FullCalendar预加载多个月,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我在应用程序中使用FullCalendar已经有一段时间了,现在我已经到了优化应用程序的阶段。我一直困扰的一件事是在几个月之间切换时加载新事件 ... }, events: function(start, end, timezone, callback) { var data = { 'action' : 'get_hours', 'start'

我在应用程序中使用FullCalendar已经有一段时间了,现在我已经到了优化应用程序的阶段。我一直困扰的一件事是在几个月之间切换时加载新事件

        ...
        },
        events: function(start, end, timezone, callback) {
            var data = {
                'action'    : 'get_hours',
                'start'     : start.format('DD-MM-YYYY'),
                'end'       : end.format('DD-MM-YYYY')
            };

            $.post(ajax_object.ajax_url, data, function(response) {
                var res = JSON.parse(response);

                if (res.status) {
                    var events = [];

                    $.each(res.events, function(i, val) {
                        $.each(val, function(x, e) {
                            events.push({
                                title       : e.title,
                                start       : e.time_start,
                                end         : e.time_end,
                                allDay      : e.allday
                            });
                        });
                    });

                    callback(events);
                } else {
                    console.log(res.message);
                }
            });
        },
        ...
每当我切换几个月并触发另一个AJAX请求时,就会调用此函数,从而导致应用程序加载。我想摆脱这个加载时间。理想情况下,我会加载过去3个月、本月和未来3个月

我有什么办法可以做到这一点吗


提前感谢

查看此帖子这是一个不同的问题,即显示多个月。我只想通过AJAX加载多个月的数据,所以我不需要每次切换月份都加载数据。我不需要多个日历/视图。在所有这些月份的初始请求回调中初始化日历。存储所有数据和日期范围。然后在提出新请求之前检查一下。还需要更新存储的数据对象,但当您更改任何视图中的单个事件时,这会在视图/日期范围之间移动时稍微提高性能,但也会略微增加前期加载时间。您的用户是否可能总是尝试查看前三个月和后三个月?如果很有可能,那么最好预加载数据。如果这相对不太可能,那么当前的延迟加载实际上是一个更有效的解决方案。还请阅读-日历不会在每次更改视图/日期时获取新事件,它确实已经在尝试提高效率。另一件事是,每次ajax调用运行时,服务器用更新的事件回复需要多长时间?如果时间超过一两秒,您应该考虑提高查询效率。如果不到一两秒钟,大多数用户会觉得这是可以接受的,特别是如果你在页面上显示某种“加载”指示器来显示正在发生的事情。不管怎样,人脑需要一两秒钟来适应显示的变化,所以它实际上给了人们思考的时间。