我想从一个单独的URL调用我的事件进行全日历。 我在这里使用这种方法: https://fullcalendar.io/docs/eventSources
$('#calendar').fullCalendar({
eventSources: [
'/feed1.php'
]
});
如何在“ /feed1.php ”中格式化结果?
我尝试了通常可以正常工作的典型JSON格式:
{ID:'1265',start:'2018-11-15',title:'Bentley', editable : false, allDay : true},
{ID:'1222',start:'2018-11-14',title:'Dave', editable : false, allDay : true}
但这不起作用。
我要从“ /feed1.php ”显示的日期是否应该使用一种格式?
答案 0 :(得分:2)
您的JSON无效-在与fullCalendar期望有关的其他方面也出错。如果检查,您的浏览器控制台中可能有错误。
您的JSON应该构造为一个数组,其中的[
和]
字符串的开始和结束。
在JSON中,必须在属性名称周围使用双引号("
)
和值(而不是单引号('
)。
同样,所有属性名称必须在其周围加上引号。
最后,fullCalendar期望ID
应该是id
。
我不知道您是如何构建结果的,但是您实际上应该在PHP中创建事件对象数组,然后使用json_encode()
使PHP将数组转换为有效的JSON。
这是一个使用一些静态PHP数据的示例,尽管我实际上假设您将从数据库数据或其他数据构造数组。
<?php
$events = array(
array("id" => 1265, "start" => "2018-11-15", "title" => "Bentley", "editable" => false, "allDay" => true),
array("id" => 1222, "start" => "2018-11-14", "title" => "Dave", "editable" => false, "allDay" => true),
);
echo json_encode($events);
?>
这将输出如下的有效JSON:
[{
"id": 1265,
"start": "2018-11-15",
"title": "Bentley",
"editable": false,
"allDay": true
},
{
"id": 1222,
"start": "2018-11-14",
"title": "Dave",
"editable": false,
"allDay": true
}]
这是该代码的working demo。
这里是demo的fullCalendar,使用该JSON输出正确显示事件。
这里是json_encode() documentation。
此外,fullCalendar还documents期望每个事件具有的字段名称。