Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fullcalendar 完整日历静态事件源_Fullcalendar - Fatal编程技术网

Fullcalendar 完整日历静态事件源

Fullcalendar 完整日历静态事件源,fullcalendar,Fullcalendar,我使用fullcalendar eventSources从服务器中提取json事件数据。我有一个变量sheet\u id,该变量会发生变化,selected\u sheet\u id()函数将返回所选的相应工作表。问题是,当我调用$(“#calendar”).fullCalendar('refetchEvents')返回事件时,工作表id(因此所有事件)总是相同的。也就是说,在获取事件之前,fullcalendar不会使用当前的工作表id刷新。如何触发eventSources“重新编译”,以便在

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

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

首先尝试使用
async:false
进行同步调用:

eventSources: [{
    url: '/event/get_events',
    type: 'GET',
    data: {
        sheet_id: selected_sheet_id()
    },
    error: function() {
        alert('there was an error while fetching events!');
    }     
}]
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!');
              },      
          },
             ]
另外,为ex使用
Ajax调用
创建了一个获取事件数据的方法:

eventSources: [{
    url: '/event/get_events',
    type: 'GET',
    data: {
        sheet_id: selected_sheet_id()
    },
    error: function() {
        alert('there was an error while fetching events!');
    }     
}]
  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);  
            }  
          }); 


   }

我尝试了async:false,但这不起作用。我可以编写一个单独的ajax请求,但我想使用fullcalendar的调用方法,因为在切换日、月、年时,它们有适当的触发器来调用以获取事件。完整的日历更新调用方法也提供了正确的日期框来搜索。您可以在切换日、月、年的每一次调用时首先找到函数。然后从该函数调用Ajax。所以每次你得到更新的JSON对象,我都会在我的jquery week calendar插件中做同样的事情。我最初尝试过,将不同的按钮链接到一个更新AJAX调用,但问题是AJAX更新调用会在完整日历更新显示查看月份的变量之前触发。因此,我必须在从完整日历查看报告月份之前和之后的一个月发送所有事件数据。(这样我就有了可以查看的日期的所有数据)在我看来这是浪费,这就是为什么我考虑使用fullcalendars方法,从指定的url提取并实际给出当前正在查看的更新日期。