FullCalendar 对象不理解对象数组参数

Object array argument isn't being understood by FullCalendar object

我正在使用 jQuery 从 ajax 调用中填充一个对象数组,以便将我们系统中的事件数据显示到日历中。由于某种原因,它不会将其识别为事件,并且它们不会显示在日历上。请参阅下面的代码。

我已经检查了 100 多次,我确信数据的格式正确。 events 变量在运行时也不为空。

var events = [];

$.ajax({
        type: 'GET',
        url: "ajax/shared.ashx",
        dataType: 'json',
        data: 'm=get-staff-schedule',
        success: function (json) {
            console.log(json);
            $.each(json.response.data, function (i, app) {
                events.push({
                    id: app.id,
                    title: app.ADMIN_NAME,
                    daysOfWeek: app.day - 1,
                    startTime: app.time_in,
                    endTime: app.time_out
                });

            });
            renderCalendar(events);
        }
    });

function renderCalendar(events) {
        var calendarEl = document.getElementById('calendar');
        var d = new Date();
        var date = d.getFullYear() + '-' + padDigits(d.getMonth() + 1, 2) + '-' + padDigits(d.getDate(), 2)
        debugger
        var calendar = new FullCalendar.Calendar(calendarEl, {
            plugins: ['interaction', 'dayGrid', 'timeGrid', 'bootstrap'],
            themeSystem: 'bootstrap',
            defaultView: 'timeGridWeek',
            defaultDate: date,
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'dayGridMonth,timeGridWeek,timeGridDay'
            },
            events: events
        });

        calendar.render();
    }

这是渲染后的空白日历图像。另外,这里有 FullCalendar 的文档供参考:https://fullcalendar.io/docs/event-parsing

替换

events.push({
                    id: app.id,
                    title: app.ADMIN_NAME,
                    daysOfWeek: app.day - 1,
                    startTime: app.time_in,
                    endTime: app.time_out
                });

来自

events.push({
                    id: app.id,
                    title: app.ADMIN_NAME,
                    daysOfWeek: app.day - 1,
                    start: app.time_in,
                    end: app.time_out
                });

我想通了!我只用了 2 个小时!

基本上,这个对象需要所有字符串。因此,daysOfWeek 值需要从整数转换为字符串。这是我所做的:

events.push({
   id: app.id,
   title: app.ADMIN_NAME,
   daysOfWeek: (app.day - 1) + '',
   startTime: app.time_in,
   endTime: app.time_out
});