2011-08-23 309 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); 
      }); 
     } 
    }); 
相关问题