0

サーバーからjsonイベントデータを取得するためにfullcalendar eventSourcesを使用しています。sheet_id変化する変数があり、selected_sheet_id()関数は選択された対応するシートを返します。$("#calendar").fullCalendar('refetchEvents')問題は、イベントを返すために呼び出すとsheet_id(したがって、すべてのイベント) が常に同じになることです。つまり、fullcalendar は、sheet_idイベントを取得する前に最新の状態で更新されません。sheet_idajax呼び出しを実行する前に関数から 正しいものを引き出すように、eventSourcesを「再コンパイル」するようにトリガーするにはどうすればよいですか。

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 まず同期呼び出しのためにこれを試してください:

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それ以外の場合は、 For exを使用してイベント データを取得する 1 つのメソッドを作成します。

  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 に答える