Fullcalendar不显示返回数据

时间:2010-07-30 23:46:33

标签: javascript jquery fullcalendar

我有一个coldfusion cfc,我打电话来查询开始和结束日期之间的事件。这是我的剧本:

$(document).ready(function() {

var calendar = $('#calendar').fullCalendar({
  events: function(start, end, callback) {
$.ajax({
    type: "GET",
    url: 'cfc/forecast.cfc?method=GetForecast&returnformat=plain',
    data: {
         startDate: start.getDate(),
         startMonth: start.getMonth(),
         startYear: start.getFullYear(),
                 endDate: end.getDate(),
         endMonth: end.getMonth(),
         endYear: end.getFullYear()
    },
    success: function(data) {
        callback(data);
    }
});
 } 
 });
});

在firebug中,返回数据如下所示:

[
  {"ID": 16, "start": "2010-01-04 00:00:00.0", "end": "", "title": "AM 2 Hours: 2 - 2"},
  {"ID": 16, "start": "2010-01-04 00:00:00.0", "end": "", "title": "AM 2 Hours: 2 - 2"},
  {"ID": 16, "start": "2010-01-04 00:00:00.0", "end": "", "title": "PM 2 Hours: 2 - 2"},
  {"ID": 16, "start": "2010-01-04 00:00:00.0", "end": "", "title": "PM 2 Hours: 2 - 2"}
] 

我是Javascript,jQuery和FullCalendar的新手,所以请原谅我。我知道我错过了一些东西,却无法弄清楚它是什么。任何建议都非常感谢!

感谢,

2 个答案:

答案 0 :(得分:2)

可能有一些事情。

1)所有的id都是一样的。如果您没有专门使用它们,则不能包含它们,fullcalendar将自动分配ID。

2)可能区分大小写。我得到的JSON将它作为id而不是ID。

3)这些应该是全天活动吗?如果是这样,请使用JSON中的“allDay”:true属性。由于没有结束日期,我认为这是一整天的事情。

试一试。但是......

如果您可以控制正在调用的ColdFusion脚本,则可以将其更改为仅接收作为时间戳的开始和结束参数,并返回正确的JSON。然后,您可以将URL作为字符串传递给events:属性,它会为您处理所有事情。

$('#calendar').fullCalendar({
  events: 'cfc/forecast.cfc?method=GetForecast&returnformat=plain'
});

答案 1 :(得分:0)

我在这里找到了解决方案http://www.jamesnetherton.com/blog/2008/05/04/Converting-Unix-timestamp-values-in-ColdFusion/。我需要转换开始和结束时间才能在我的SQL查询中使用。