Fullcalendar不在客户端中呈现事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fullcalendar不在客户端中呈现事件相关的知识,希望对你有一定的参考价值。
我正在尝试制作一个显示所有工作日和活动的日历,而不考虑它是哪个日期。来自数据库的日期是“随机的”,在C#代码中我获得当前周并将每个“随机”日期与当前周的相应日期相关联(因此用户不会)(公共DateTime AssimilarDataAoDiaSemana(字符串dia,列出dts))。
我有这个C#代码https://pastebin.com/ipe4t8Pa,它返回一个JSON,例如:
{
"events":[
{
"title": "VIP",
"start": "2018-03-03 10:00:00",
"end": "2018-03-03 11:00:00",
"allDay": false
},
{
"title": "ALMANAQUE DA CACAU",
"start": "2018-02-25 17:00:00",
"end": "2018-02-25 18:00:00",
"allDay": false
}
]
}
这是我的javascript
function Grade() {
if (VerificarURL("programacao")) {
var cal = $("#calendario").fullCalendar({
events: {
url: "/programacao/calendario",
dataType: "json",
type: "GET",
success: function (data) {
console.log(data);
},
color: "white",
textColor: 'white'
},
columnHeaderFormat: "dddd",
handleWindowResize: true,
header: false,
height: "auto",
defaultView: "agendaWeek",
editable: false,
minTime: "06:00",
maxTime: "24:00",
displayEventTime: false,
allDaySlot: false,
allDayText: false,
timeFormat: "HH(:mm)",
slotLabelFormat: "HH:mm",
});
}
}
问题是:事件不会在客户端呈现。有任何想法吗?
答案
很简单,您返回的JSON格式与fullCalendar所期望的格式不兼容。您只需要返回事件数组,而不会将对象包裹起来。您的活动数据只需要如下所示:
[
{
"title": "VIP",
"start": "2018-03-03 10:00:00",
"end": "2018-03-03 11:00:00",
"allDay": false
},
{
"title": "ALMANAQUE DA CACAU",
"start": "2018-02-25 17:00:00",
"end": "2018-02-25 18:00:00",
"allDay": false
}
]
fullCalendar期望JSON是一个数组。如果你按照你的例子返回一个对象,它不知道在里面查找数组,并且只假设没有事件。
如果您稍微修改C#代码以生成此输出,它应该可以正常工作。
以上是关于Fullcalendar不在客户端中呈现事件的主要内容,如果未能解决你的问题,请参考以下文章
FullCalendar在updateEvents之后不重新呈现
在Ajax数据库更新后重新呈现fullCalendar中的事件
将事件添加到从服务器FullCalendar返回的事件数组中