如何格式化FullCalendar事件源URL的结果数据



我想从一个单独的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还记录了它期望每个事件具有的字段名称。

相关内容

最新更新