为什么fullCalendar不显示事件?

我试图在我的fullCalendar中显示来自数据库的一些事件,但它不起作用? 我的应用程序是在Symfony 3上。首先我安装了ancarebeca / fullcalendar,然后我一步一步地安装,我的日程安排在这里! 在我的控制器中,我有一个方法来返回这样的JSON数组:

[{“1”:{“id”:1,“title”:“test”,“start”:“2017-08-01 18:00:00”,“end”:“2017-08-01 20: 00:00" , “阿迪”:真实的, “编辑”:真实的, “startEditable”:真实的, “durationEditable”:真正的 “重叠”:真实的, “URL”: “”, “的backgroundColor”: “”,”文字颜色 “:””, “类名”: “”, “呈现”: “”, “约束”:1, “源”: “”, “色彩”: “”}, “2”:{ “ID”: 2,“title”:“test2”,“开始”:“2017-08-02 15:00:00”,“结束”:“2017-08-02 16:00:00”,“allDay”:true, “编辑”:真实的, “startEditable”:真实的, “durationEditable”:真正的 “重叠”:真实的, “URL”: “”, “的backgroundColor”: “”, “文字颜色”: “”, “类名”:” ”, “呈现”: “”, “约束”:1, “源”: “”, “色彩”: “”}}]

如果你想看看我的方法:

public function loadAction()
    {
        //dump($calendarService);die();
        $em = $this->getDoctrine()->getManager();
        $evenements = $em->getRepository('MALrmBundle:CalendarEvent')->findAll();

        $calendarService = $this->get('ma_lrm_bundle.service.listener');

        $events = array();

        foreach ($evenements as $key => $evenement)
        {

            $events[$evenement->getId()]=$calendarService->loadData($evenement);


        }

        $response = new JsonResponse($events);
        return $response->setData(array($events));

    }

最后,在我的js文件中,我只需调用url,如下所示:

活动:'http://localhost/ligne_rh/web/app_dev.php/admin/accueil/calendar',

...但我的日历里没有回报...

我也发布我的完整Js文件:

$(document).ready(function() {
        $('#calendar').fullCalendar({
            header: {
                left: 'prev, next',
                center: 'title',
                right: 'month, agendaWeek, agendaDay'
            },
            timezone: ('Europe/London'),
            businessHours: {
                start: '09:00',
                end: '17:30',
                dow: [1, 2, 3, 4, 5]
            },
            allDaySlot: false,
            defaultView: 'agendaWeek',
            lazyFetching: true,
            firstDay: 1,
            selectable: true,
            timeFormat: {
                agenda: 'h:mmt',
                '': 'h:mmt'
            },
            /*columnFormat: {
                month: 'ddd',
                week: 'ddd D/M',
                day: 'dddd'
            },*/
            editable: true,
            eventDurationEditable: true,
            events: 'http://localhost/ligne_rh/web/app_dev.php/admin/accueil/calendar',

        });
});

请帮帮我。


您的JSON结构与预期不同。

[{"1":{"title":"test","start":"2017-08-01 18:00"}}]

应该是这样的

[{"title":"Title","test":"2017-08-01 18:00"}]

要修复,请尝试更改

$events[$evenement->getId()]=$calendarService->loadData($evenement);

$events[]=$calendarService->loadData($evenement);

另外,我对Symphony不熟悉,但返回可能与返回$ response一样容易; 既然你已经使用$事件$响应=新JsonResponse($事件);

或者只是返回新的JsonResponse($ events);

链接地址: http://www.djcxy.com/p/39423.html

上一篇: Why fullCalendar doesn't show event?

下一篇: Disable highlight of an external event in fullcalendar