如何使用除默认值以外的JSON格式的事件源

时间:2016-10-11 06:49:47

标签: json fullcalendar

我正在使用FullCalendar和我无法控制的事件源。此源不会像FullCalendar所需的那样返回JSON,并且事件在它们应该的位置“一级”。

例如,Feed返回的JSON类似于:

{
    "sourcename": [
        {
            "start": "2016-04-18 14:00",
            "end": "2016-04-18 18:00",
            "title": "Working Group 1 meeting",
            "className": "wg",
            "url": "http://cnn.com/",
            "type": "restricted"
        },{
            "start": "2016-04-18 14:00",
            "end": "2016-04-18 18:00",
            "title": "Working Group 2 meeting",
            "className": "wg",
            "url": "http://cbsnews.com/",
            "type": "restricted"
        }
    ]
}

FullCalendar上是否有任何选项允许在返回的JSON或任何其他表单上指定“路径”以使用此类事件源?

1 个答案:

答案 0 :(得分:1)

由于您无法控制Feed,我猜您events as a function是唯一的选择。

这使您可以控制请求,但是您需要发送自动附加到GET请求的参数(我在谈论data参数)。

在AJAX请求中,只需使用事件调用callback函数(函数的第4个参数),类似于data.sourcename

$('#calendar').fullCalendar({
    events: function(start, end, timezone, callback) {
        $.ajax({
            url: '/fullcalendar/events17',
            dataType: 'json',
            data: {
                start: start.format('YYYY-MM-DD'),
                end: end.format('YYYY-MM-DD')
            },
            success: function(data) {
                callback(data.sourcename);
            }
        });
    }
});