1

我非常热衷于通过更新我的数据库条目来呈现事件。最初,我已成功通过以下方式渲染事件;

我有事件数组:

{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new
 Date(2013, m, 05, 10,00), allDay: false},{title: 'Available', start:
 new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50),
 allDay: false}

这将通过以下方式在日历中呈现:

events:[<?php echo $events?>]

至此,代码运行良好并根据需要呈现事件。

在上一个之后,单击下一个按钮,我必须通过更新数据库来呈现事件。那是这样的:

 $('.fc-button-next span').live('click', function() {
        var calandar = $('#calandar');
         $.ajax({
            url: 'fetchEvents',
            dataType: 'JSON',
            type: 'POST',
            success: function(doc) {
                calandar.fullCalendar('removeEvents',event),
               calandar.fullCalendar( 'renderEvent',doc.events);
               calandar.fullCalendar('rerenderEvent',doc.events);
            }
        });
});

其中“fetchEvents”返回与以前相同的事件格式,但采用 JSON 格式,例如:

"{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false}"

不知道,如何在 next-click 事件上呈现 JSON 事件对象。那就是我必须通过 ajax 调用呈现全新的事件。请建议。

解决了:

我没有创建JSON事件,而是按照Lukasz Koziara的第一个建议创建事件,以便每次日历事件发生时,它都会获取eventSource事件以获取事件。JSON 事件

[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}]

我没有使用事件,而是使用 in进行了ajax 调用eventSources来获得这种类型的JSON EVENTS. This 看起来像:

 eventSources: [{
                    url: 'fetchEvents',
                    type: 'POST'
                }]

这样,当calander第一次呈现或单击或按钮时,next它会自行获取由指定的事件previoustodaycalandereventSources.

4

1 回答 1

1

第一个建议:为什么不使用一种类型的事件源?例如使用 JSON 提要 - 您可以通过 GET 参数start和获取事件范围end,因此如果您更改月份或视图,您可以从数据库适当的事件发送。

第二个建议:如果你一定需要两种类型的事件源,尝试使用addEventSource / removeEventSource

于 2013-06-04T08:02:35.563 回答