代码:
"use strict";
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listWeek'
},
defaultDate: new Date(),
editable: true,
droppable: true,
drop: function() {
if ($('#drop-remove').is(':checked')) {
$(this).remove();
}
},
eventLimit: true,
events: function (start, end, timezone, callback) {
$.ajax({
type: "GET",
url: "https://www.example.com/calender_api",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (doc) {
var events = [];
var obj = doc;
$(obj).each(function () {
events.push({
title: $(this).attr('title'),
start: $(this).attr('start')
});
});
if (callback) callback(events);
}
});
}
});
calender_api.php:
[{start:"2019-03-06",title:"Conference"},{start:"2019-03-13",title:"Recruiting And Staffing"}]
我创建了一个活动日历,看起来很好,问题是如上所述,我该如何显示calender_api
中的事件?请帮助我。
谢谢
答案 0 :(得分:0)
似乎您已经从fullCalendar文档示例(https://fullcalendar.io/docs/events-function)中几乎逐行复制并粘贴了代码,而没有试图理解它。它清楚地提到那里的代码旨在将数据从XML响应转换为fullCalendar所需的JS对象格式。您这里没有这个问题,因为您的PHP已经返回了JSON,可以直接对其进行解析,而无需进行转换。
您可以
a)稍微更改ajax代码,使其直接将数据直接返回到fullCalendar:
success: function (doc) {
callback(doc);
}
或
b)仅用URL替换整个内容,因为它已经符合此方法所示的fullCalendar规范:https://fullcalendar.io/docs/events-json-feed
events: "https://www.example.com/calender_api"
执行此操作时,fullCalendar将负责启动AJAX请求并为您处理响应。