fullcalendar加载了ajax symfony2 doctrine2

时间:2016-01-28 08:15:23

标签: ajax symfony fullcalendar

这是我在控制器中的功能

public function loadcalendarAction() {

    $eventsloaded = $this->container->get('calendarbundle.serviceloadcalendar')->loadCalendar();
    $response = new JsonResponse();
    //dump($eventsloaded);
    //die();
    $response->setData(array('events' => $eventsloaded));
    return $response;
}
$ eventsloaded是我的数据库中的2个事件的数组,它确定..但$ response为空我不知道为什么..

the response is empty

这是我的calendar_setting.js

$(document).ready(function () {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();

$('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    defaultDate: '2016-01-12',
    lang: 'ar-tn',
    buttonIcons: false, // show the prev/next text
    weekNumbers: true,
    editable: true,
    eventLimit: true, // allow "more" link when too many events
    dayClick: function () {
        alert('a day has been clicked!');
    },
    events: Routing.generate('loadcalendar')
});
});

如果响应不为空,则所有事件都将显示在事件中:

1 个答案:

答案 0 :(得分:0)

看看this questions' answer。您需要使用一些外部包(例如JMSSerializerBundle)来序列化实体,将其传递给json响应,或者在您的实体中实现类似toArray()方法的方法,这将从实体返回所需数据的数组,之后你可以做像:

$responseData = [];
foreach ($eventsloaded as $i => $event) {
    $responseData[$i] = $event->toArray();
}

return new JsonResponse($responseData);