Fullcalendar不显示Laravel中来自数据库的事件

时间:2019-03-14 06:27:53

标签: ajax laravel fullcalendar

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

  每次

alert('failed')通话。

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

这是我的脚本代码:

$.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();
}

谢谢。

1 个答案:

答案 0 :(得分:1)

我看到您的活动具有属性 start_date, end_date, start_time, end_time 我在全日历documentation中什么都没有看到。 据我所知,fullcalendar希望事件具有一个名为start的属性,该属性是必需的,而一个可选属性称为end

摘自完整的日历文档:

  

开始-事件开始的日期/时间。 必需。瞬间输入,例如ISO8601字符串。在整个API中,这将成为真正的Moment对象。

如果要使用JSON提要获取事件,则无需进行自己的ajax调用。您可以使用eventSource property,fullCalendar将为您处理提取操作