完整日历静态eventSources

时间:2013-07-19 10:49:19

标签: fullcalendar

我正在使用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!');
    }     
}]

1 个答案:

答案 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);  
            }  
          }); 


   }