2011-08-23 159 views
0

我在CodeIgniter應用程序中使用FullCalendar plugin。我正在使用GET請求服務器端檢索事件對象,並且使用與回調的events as a function example類似的方法在日曆上不顯示事件。我已驗證GET請求正確返回json。jQuery FullCalendar插件不顯示事件

這裏是我的請求返回的JSON ...

[{"id":"1","title":"2011 Acura Integra (1)","start":1313996400,"color":"red"}, {"id":"15","title":"2011 Acura Integra (1)","start":1314774000,"color":"red"}] 

我的電話是如下...

var year = $("#year").text(); 
    var month = $("#month").text(); 

    $maintenance_schedule_calendar_table = $("#vehicles_maintenance_schedule_calendar").fullCalendar({ 
     year: year, 
     month: month -1, 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: '' 
     }, 
     editable: true, 
     disableResizing: true, 
     events: function(start, end, callback) { 
      var start_timestamp = Math.round(start.getTime()/1000); 
      var end_timestamp = Math.round(end.getTime()/1000); 
      var url = "/tripsys/new_admin/vehicles/get_maintenance_schedule_data/" + start_timestamp + "/" + end_timestamp; 

      $.get(url, function(events) { 
       callback(events); 
      }); 
     } 
    }); 

奇怪的是,以前的呼叫獲取的JSON和正確回調似乎處理事件,因爲如果我調用.fullCalendar('clientEvents')它顯示我傳遞給事件方法的json,但它們不呈現。

但是,如果我通過這個相同的JSON到我最初FullCalendar直接調用的事件做渲染...

var year = $("#year").text(); 
    var month = $("#month").text(); 

    $maintenance_schedule_calendar_table = $("#vehicles_maintenance_schedule_calendar").fullCalendar({ 
     year: year, 
     month: month -1, 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: '' 
     }, 
     editable: true, 
     disableResizing: true, 
     events: [ 
      {"id":"1","title":"2011 Acura Integra (1)","start":1313996400,"color":"red"}, 
      {"id":"15","title":"2011 Acura Integra (1)","start":1314774000,"color":"red"} 
     ] 
    }); 

有沒有人有,爲什麼第一個例子是不是呈現在我的日曆事件的任何想法?

回答

1

原來,問題是由我請求與$不用彷徨而不是用$ .getJSON

這是正確的調用數據引起...

var year = $("#year").text(); 
    var month = $("#month").text(); 

    $maintenance_schedule_calendar_table = $("#vehicles_maintenance_schedule_calendar").fullCalendar({ 
     year: year, 
     month: month -1, 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: '' 
     }, 
     editable: true, 
     disableResizing: true, 
     events: function(start, end, callback) { 
      var start_timestamp = Math.round(start.getTime()/1000); 
      var end_timestamp = Math.round(end.getTime()/1000); 
      var url = "/tripsys/new_admin/vehicles/get_maintenance_schedule_data/" + start_timestamp + "/" + end_timestamp; 

      $.getJSON(url, function(events) { 
       callback(events); 
      }); 
     } 
    });