我正在创建一个调度系统,我想向每个用户显示'使用fullCalendar安排。我需要在bootstrap模式中显示日历,并通过AJAX调用使用事件填充日历。
我的问题是当我点击按钮显示模态时,事件没有显示在日历中。
我正在使用Laravel作为我的后端,这里是从数据库中检索计划的代码
public function getTeacherScheduleAJAX($id){
$schedule = DB::table('schedules AS s')
->select('s.lesson_name AS title','s.time_start AS start','s.time_end AS end')
->where('s.teacher',$id)
->get();
return response()->json([
'teacher' => $schedule
]);
}
这是我如何通过AJAX调用
进行的$('.btn-calendar').click(function() {
$.ajax({
url : '/teacher-schedule/'+$(this).data('teacherid'),
type: 'GET',
success: function(response){
$('.calendar').fullCalendar('renderEvent', response.teacher, true);
$('#scheduleModal').modal('show');
},
error: function(err){
console.log(err)
}
})
});
我已在页面加载时初始化
$('.calendar').fullCalendar({
header : {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultView : 'agendaWeek',
allDaySlot : false,
eventOverlap: false
});
我从后端收到回复,只是它没有显示在日历中。
来自查询的回复
{
"teacher": [
{
"title": "English Lesson Schedule",
"start": "2017-09-08 10:00:00",
"end": "2017-09-08 12:00:00"
},
{
"title": "English Lesson Schedule",
"start": "2017-09-13 07:00:00",
"end": "2017-09-13 09:00:00"
}
]
}
答案 0 :(得分:1)
使用
渲染多个事件$('.calendar').fullCalendar('renderEvents', response.teacher, true);
而不是
$('.calendar').fullCalendar('renderEvent', response.teacher, true);
renderEvent
适用于单一事件。