未使用JSON Feed呈现事件

Ste*_*art 0 javascript jquery events json fullcalendar

我正在尝试使用JSON提要在fullCalendar中呈现事件.这是代码.

        $('#calendar').fullCalendar({

            editable    : true,
            selectable  : true,
            select      : selectionMade,
            eventResize : eventsChanged,
            eventDrop   : eventsChanged,
            selectable  : true,
            eventRender : beforeRenderEvent,
            weekend     : false,
            defaultView : "agendaWeek",
            eventClick  : eventClicked,
            theme       : true,
            aspectRatio : 1.5,
            events      : '<%= shifts_path %>',                    
            header      : 
            {
                left: 'prev,next today',
                center: 'title',
                right: 'agendaWeek,agendaDay'
            }
        });
Run Code Online (Sandbox Code Playgroud)

Shifts_path是换档控制器的路径.它是一个rails应用程序.返回json feed的请求正在运行.当我查看已经发出的ajax请求时,请求返回到它的转移路径并返回没有错误.但事件不会在日历上呈现,而且仍为空白.当我调用fullcalendar的clientEvents方法时,它返回一个空数组.我尝试粘贴服务器直接与代码内联返回的JSON.执行此操作时,事件会正常.以下是服务器返回的JSON示例.

[
    {
        title   : 'New shift',
        start   : '2010-10-25 09:30:00 +0100',
        end     : '2010-10-25 13:30:00 +0100',
        allDay  : false
    },
    {
        title   : 'New shift',
        start   : '2010-10-25 08:00:00 +0100',
        end     : '2010-10-25 14:00:00 +0100',
        allDay  : false
    },
    {
        title   : 'New shift',
        start   : '2010-10-25 08:00:00 +0100',
        end     : '2010-10-25 14:00:00 +0100',
        allDay  : false
    },
    {
        title   : 'New shift',
        start   : '2010-10-27 08:00:00 +0100',
        end     : '2010-10-27 13:30:00 +0100',
        allDay  : false
    },
]
Run Code Online (Sandbox Code Playgroud)

有关事件未呈现的任何想法?

Nic*_*ver 5

您返回的内容不是有效的JSON,因此从1.4版开始,jQuery将拒绝甚至不尝试解析它.

有两个问题,你的名字和值应该是引号,如下所示:"title" : "New shift"在数组中的最后一个事件之后有一个尾随逗号.总体而言,您的示例JSON应如下所示:

[
    {
        "title" : "New shift",
        "start" : "2010-10-25 09: 30: 00 +0100",
        "end" : "2010-10-25 13: 30: 00 +0100",
        "allDay" : false 
    },
    {
        "title" : "New shift",
        "start" : "2010-10-25 08: 00: 00 +0100",
        "end" : "2010-10-25 14: 00: 00 +0100",
        "allDay" : false 
    },
    {
        "title" : "New shift",
        "start" : "2010-10-25 08: 00: 00 +0100",
        "end" : "2010-10-25 14: 00: 00 +0100",
        "allDay" : false 
    },
    {
        "title" : "New shift",
        "start" : "2010-10-27 08: 00: 00 +0100",
        "end" : "2010-10-27 13: 30: 00 +0100",
        "allDay" : false 
    } 
]
Run Code Online (Sandbox Code Playgroud)

您始终可以使用JSONLint.com检查JSON的有效性.