Ajax与fullCalendar - 重新获取事件

0 投票
1 回答
1358 浏览
提问于 2025-04-17 14:17

我正在使用非常棒的FullCalendar,但遇到了一个关于refetchEvents的问题。

我用一个Python脚本在谷歌日历中添加了一个新事件。这个谷歌日历是我FullCalendar的事件来源。完成这个操作后,我尝试重新加载事件来源。但是,刚添加的事件并没有出现,尽管我很确定它此时已经被插入到谷歌日历中。在我点击“下一步”和“返回”后,才会看到这个新事件。这里是相关的jQuery代码部分:

$.ajax({
        url:"cgi-bin/termin_insert.py",
        data: JSON.stringify(myevent),
        type: "POST",
        success:function(data,success,xhr){
                  alert(data.eventId);
                  $("#calendar").fullCalendar('refetchEvents');
        },
        error:function(){
                ...do something
        }
});

在成功的部分,正确的谷歌事件ID被弹出显示。所以我知道,这个事件确实已经插入了。

如果我重复执行' refetchEvents'这个命令,就能解决这个问题。当我使用'rerenderEvents'时,效果完全没有变化。

我觉得谷歌日历的xml数据在成功插入新事件后,会稍微晚一点才更新。但我在想,主要问题是不是出在我自己身上……

1 个回答

0

在这个问题中,有个用户遇到了类似的情况,并且通过以下方法解决了它:

$("#calendar").fullCalendar('refetchEvents');

所以我决定再做一些测试,尽管我之前已经用过这个方法。我也不太清楚为什么,现在它竟然能正常工作了。

我之前没有看到那个问题,希望没有人花太多时间在上面...

撰写回答