Jquery 向fullcalendar中的事件发送JSON,我做错了什么
您好,我想将带有事件的数据发送到我的模板,我使用的是我有控制器的jquery fullcalendarJquery 向fullcalendar中的事件发送JSON,我做错了什么,jquery,json,symfony,Jquery,Json,Symfony,您好,我想将带有事件的数据发送到我的模板,我使用的是我有控制器的jquery fullcalendar $result = $query->getArrayResult(); $serializer = $this->get('jms_serializer'); $json = $serializer->serialize($result, 'json'); return $this->render('SurgeryPatientBundle:VisitsCalendar
$result = $query->getArrayResult();
$serializer = $this->get('jms_serializer');
$json = $serializer->serialize($result, 'json');
return $this->render('SurgeryPatientBundle:VisitsCalendar:visitscalendar.html.twig',array('events'=>$json ,'content_type' => 'application/json'));
在我的模板中,我有
<meta content="{{content_type}}" http-equiv="Content-Type" > </meta>
events: {{events}}
我得到了正确的数据
[{"id":1,"date":"2013-01-02T00:00:00+01
但是我在fullcalendar.min.js中遇到了这样的错误
Uncaugt TypeError: Cannot call method 'replate of undefinde"
如果我将开始日期设置为2013-01-24T15:25:00+0100,则它可以工作
我做错了什么?对不起,我的英语不好
编辑:它可能不起作用,因为eventObject中没有标题。这就是它对我的作用 内枝:
{% set events %}
{% render 'MyBundle:MyController:getEventsForCalendar' %}
{% endset %}
events = {{ events|raw }};
var selector = '#calendar';
$(selector).fullCalendar({
...
events: events
});
MygetEventsForCalendarAction()
:
MymyTemplate.html.twig
:
[
{% for item in items %}
{
title: '{{ item.title }}',
start: new Date({{ item.startY }}, {{ item.startM }}, {{ item.startD }}),
end: new Date({{ item.endY }}, {{ item.endM }}, {{ item.endD }}),
url: '{{ item.url }}'
}{% if loop.last %}{% else %},{% endif %}
{% endfor %}
]
干杯代替
活动:{{events | raw}
,尝试活动:{{events | safe}
。这对我有用
public function getEventsForCalendarAction()
{
$events = EventQuery::create()
->find();
$items = array();
/** @var $event Event */
foreach ($events as $event) {
$item['title'] = $event->getTitle();
$item['startY'] = $event->getStartAt('Y');
$item['startM'] = $event->getStartAt('m') - 1;
$item['startD'] = $event->getStartAt('d');
$item['endY'] = $event->getEndAt('Y');
$item['endM'] = $event->getEndAt('m') - 1;
$item['endD'] = $event->getEndAt('d');
$item['url'] = $this->get('router')->generate('event_page', array('id' => $event->getId()));
$items[] = $item;
}
return $this->render('MyBundle:MyController:myTemplate.html.twig', array(
'items' => $items
));
}
[
{% for item in items %}
{
title: '{{ item.title }}',
start: new Date({{ item.startY }}, {{ item.startM }}, {{ item.startD }}),
end: new Date({{ item.endY }}, {{ item.endM }}, {{ item.endD }}),
url: '{{ item.url }}'
}{% if loop.last %}{% else %},{% endif %}
{% endfor %}
]