2016-05-28 13 views
1

私は、2つのタイプのイベント、すなわち '休日'と 'イベント'を持っています。これは2つの変数から受け取る必要があります。変数はajaxレスポンスを保持しています。今、休日やイベントをカレンダーに「イベント」として渡したいと思います。私は変数を渡す方法を知らない。以下は変数に宣言されている私のajaxコードです。私のコードは正しいですか?Fullcalendar:2つの変数からイベントを取得し、 'eventAfterRender'に渡す方法は?

var return_holidays = function() { 
var holdays = []; 
$.ajax({ 
     url: "/calendar/show_holidays", 
     type: 'POST', // Send post data 
     data: 'type=fetch', 
     async: true, 

     success: function(s) 
      { 
      //alert(s); 
       holdays = s; 
       } 
    }); 
    return holdays; 
}();  
var return_events = function() { 
var dynamic_events = [];  
$.ajax({ 
     url: "calendar/show_events", 
     type: 'POST', // Send post data 
     data: 'type=fetch_events', 
     async: true, 

     success: function(s) 
     {//alert(s); 
     dynamic_events = s; 
      } 
    }); 
    return dynamic_events; 
}();  


$('#calendar').fullCalendar({ 

utc: true, 
header: { 
left: 'prev,next today', 
center: 'title', 
right: 'month,agendaWeek,agendaDay' 
}, 
editable: true, 
droppable: true, 
eventSources: [return_holidays, return_events],//am calling the variables 
eventAfterRender: function(event, element, view) { 
element.append(event.title); 
} 

}); 

このようにして達成できますか?これは正しいです?

答えて

3

return_holidays、return_eventsの戻り値の型はJSONである必要があります。プレーンな配列ではなくJSON.stringify(yourArray);を返すようにしてください。

$('#calendar').fullCalendar({ 
    eventSources: [ 
     '/calendar/show_holidays', 
     'calendar/show_events' 
    ] 
}); 

http://fullcalendar.io/docs/event_data/eventSources/

常にます

$('#calendar').fullCalendar({ 

    eventSources: [ 

     { 
      url: '/calendar/show_holidays', 
      type: 'POST', 
      data: { 
       'type' : 'fetch' 
      }, 
      error: function() { 
       alert('there was an error while fetching holidays!'); 
      }, 
     }, 
     { 
      url: '/calendar/show_events', 
      type: 'POST', 
      data: { 
       'type' : 'fetch_events' 
      }, 
      error: function() { 
       alert('there was an error while fetching events!'); 
      }, 
     } 
    ] 
}); 

http://fullcalendar.io/docs/event_data/events_json_feed/

はまた、あなたがカレンダーに直接URLを渡すことができます:あなたはまた、フェッチ事業とカレンダーの契約をさせる試みることができますバックエンドからJSON形式のオブジェクトを再チューニングしていることを確認してください。

+0

yahピアリンクに感謝、私はupvote .. :)を与えることを忘れないでください – Keynes

関連する問題