我正在使用fullcalendar eventSources从服务器中提取json事件数据。我有一个变量sheet_id
,它会发生变化,selected_sheet_id()
函数将返回所选的相应表格。问题是当我调用$("#calendar").fullCalendar('refetchEvents')
来返回事件时,sheet_id
(因此所有事件)总是相同的。也就是说,在获取事件之前,fullcalendar不会使用当前sheet_id
刷新。如何触发eventSources以“重新编译”,以便在执行ajax调用之前从函数中提取正确的sheet_id
。
eventSources: [{
url: '/event/get_events',
type: 'GET',
data: {
sheet_id: selected_sheet_id()
},
error: function() {
alert('there was an error while fetching events!');
}
}]
答案 0 :(得分:1)
首先尝试使用async:false
进行同步通话:
eventSources: [
{
url: '/event/get_events',
type: 'GET',
async:false,
data:{
sheet_id: selected_sheet_id()
},
error: function() {
alert('there was an error while fetching events!');
},
},
]
否则制作了一个使用Ajax call
获取事件数据的方法。例如:
var ajaxreturnstring="";
$.ajax({
type: "POST",
url: "/EMR-PHR/getPatientScheduleajax.html",
dataType:"html",
data: "",
async:false,
success: function(data){
ajaxreturnstring=$.trim(data);
var obj = eval("("+txt+")");
return obj;
},
error: function(e){
alert('Error: ' + e);
}
});
}