Fullcalendar 未显示 laravel 中数据库中的事件

Fullcalendar not showing events from the database in laravel

我正在尝试将数据库中的事件显示到 日历,但我得到的是

alert('failed') call every time.

请任何人帮我解决这个问题。我被困在这里了。

这是我的脚本代码:

$.ajax({
  url:'events',
  type: "GET",
  cache: false,
  datatype: 'json',
  success: function(data){
    alert('Hello');
    $.each(data, function(index, val){
        events.push({
          title: val.name,
          start_date: val.start_date,
          end_date: val.end_date,
          start_time: val.start_time,
          end_time: val.end_time,
          location:val.location,
          description: val.description,
          timezone:val.timezone,
          alldDay: val.isFullDay
        });
    })
    GenerateCalendar(events);
  },
  error : function(error){
    alert('Failed');
  }
});

function GenerateCalendar(events){
  $('#calendar').fullCalendar('destroy');
  $('#calendar').fullCalendar({
    contentHeight: 400,
    defaultDate: new Date(),
    timeFormat:'h(:mm)a',
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    eventLimit: true,
    eventColor: '#378006',
    events: events
  });

}

控制器功能:

public function getEvents()
{
  $events = Event::all();
  return response()->json(['data'=> $events])->getData();
}

提前致谢。

我看到你的活动有属性 start_date, end_date, start_time, end_time 我在完整日历 documentation 中没有看到任何相关信息。 据我所知,fullcalendar 期望事件有一个名为 start 的属性,这是必需的,还有一个名为 end

的可选属性

来自完整的日历文档:

start - The date/time an event begins. Required. A Moment-ish input, like an ISO8601 string. Throughout the API this will become a real Moment object.

如果您想使用 JSON 供稿来获取事件,则无需自己进行 ajax 调用。您可以使用 eventSource property 并且 fullCalendar 将为您处理提取