0

我正在使用 fullcalendar eventSources 从服务器中提取 json 事件数据。我有一个sheet_id变化的变量,该selected_sheet_id()函数将返回所选的相应工作表。问题是当我调用$("#calendar").fullCalendar('refetchEvents')返回事件时,sheet_id(因此所有事件)总是相同的。sheet_id也就是说,在获取事件之前,fullcalendar 不会用当前刷新。如何触发 eventSources 以“重新编译”,以便sheet_id在执行 ajax 调用之前从函数中提取正确的内容。

eventSources: [{
    url: '/event/get_events',
    type: 'GET',
    data: {
        sheet_id: selected_sheet_id()
    },
    error: function() {
        alert('there was an error while fetching events!');
    }     
}]
4

1 回答 1

1

首先尝试使用async:false for sync call :

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 callFor ex 获取事件数据的一种方法:

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


   }
于 2013-07-19T11:12:15.353 回答