2016-10-11 23 views
0

我正在使用帶有不受我控制的事件源的FullCalendar。此源不會像FullCalendar所需的那樣正確地返回JSON,並且事件應該是「一個級別」。如何使用默認的JSON格式的事件源

例如,通過進料返回的JSON會是這樣的:

{ 
    "sourcename": [ 
     { 
      "start": "2016-04-18 14:00", 
      "end": "2016-04-18 18:00", 
      "title": "Working Group 1 meeting", 
      "className": "wg", 
      "url": "http://cnn.com/", 
      "type": "restricted" 
     },{ 
      "start": "2016-04-18 14:00", 
      "end": "2016-04-18 18:00", 
      "title": "Working Group 2 meeting", 
      "className": "wg", 
      "url": "http://cbsnews.com/", 
      "type": "restricted" 
     } 
    ] 
} 

是否有允許指定在返回的JSON或任何其他形式的「路徑」用這樣的FullCalendar任何選項事件源?

回答

1

由於您無法控制Feed,我猜events as a function是您唯一的選擇。

這使您可以控制請求,但需要發送否則會自動附加到GET請求(我正在談論data參數)的參數。

對於AJAX請求,只需調用callback函數(函數的第四個參數),其中的事件類似於data.sourcename

$('#calendar').fullCalendar({ 
    events: function(start, end, timezone, callback) { 
     $.ajax({ 
      url: '/fullcalendar/events17', 
      dataType: 'json', 
      data: { 
       start: start.format('YYYY-MM-DD'), 
       end: end.format('YYYY-MM-DD') 
      }, 
      success: function(data) { 
       callback(data.sourcename); 
      } 
     }); 
    } 
}); 
+0

謝謝@milz!這正是我需要的! – lbriquet

相關問題