我想从一个单独的URL为fullcalendar调用我的事件。我在这里使用这种方法: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"中显示的日期,我应该使用什么格式?
您的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
}]
以下是该代码的工作演示。
下面是fullCalendar的演示,它使用JSON输出来正确显示事件。
这是json_encode((文档。
此外,fullCalendar还记录了它期望每个事件具有的字段名称。