为什么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