FullCalendar未显示JSON事件


FullCalendar not displaying JSON Events

我看了所有的例子,不明白为什么FullCalendar不会显示我的事件。日历会显示出来,如果我把json直接放在事件中:它可以工作,所以json看起来是正确的。请帮忙!——感谢

Javascript

$(document).ready(function() {
    $('#calendar').fullCalendar({
        header :{
            left: 'prev, next, today',
            center: 'title',
            right: 'month, agendaWeek, agendaDay',
            ignoreTimezone: false
        },
        selectable: true,
        selectHelper: true,
        editable: true,
//      events: [{"id":"1","title":"Test","start":"2012-01-20T13:00:00-08:00","end":"2012-01-20T14:00:00-08:00","allDay":false}] WORKS
        events:'getJSONEvents.php',     
        loading: function(bool) { 
            if (bool) $('#loading').show(); 
            else $('#loading').hide(); 
         } 
    });
})

PHP

<?php
    $query = "SELECT * FROM `Events` ORDER BY `id` DESC";
        if( GLOBALTESTMODE && $testMode){
            $rows = mysql_query($query, $myconnection) or trigger_error("Error: Query failed.".$query, E_USER_ERROR);           
        } else {
            $rows = mysql_query($query, $myconnection) or trigger_error("Error: Query failed.", E_USER_ERROR);          
        }

        //write object to array
        $eventsArray = array();
        $events = array();
        date_default_timezone_set('America/Los_Angeles'); 
        while($row = mysql_fetch_array($rows, MYSQL_ASSOC)) {       
            $start = $row['start'];
            $end = $row['end'];
            $eventsArray['id'] =  $row['id'];
            $eventsArray['title'] = $row['title'];
            $eventsArray['start'] = date('c', strtotime($start));
            $eventsArray['end'] = date('c', strtotime($end));
            if ($row['allDay'] == "true") {
                $eventsArray['allDay'] = true;
            } else {
                $eventsArray['allDay'] = false;
            }
            $events[] = $eventsArray;
        }
    }
    header('Content-type: application/json');   
    echo json_encode($events);
?>

您是否验证了PHP脚本是否返回了预期的结果?

还要确保Java脚本实际正确地调用了PHP脚本(您可以在web服务器访问日志中检查这一点)。如果调用不正确,可能需要指定PHP文件的完整路径。

尝试检查您的日期值是否为:a.IETF格式(例如:"美国东部时间2009年10月18日星期三13:00:00")b.ISO8601格式的字符串(例如:"2009-11-05T13:15:30Z")c.UNIX时间戳

我遇到过这样的问题,我的日期"2012-04-7T12:16:30Z"没有被接受。在将"0"添加到日期值"2012-04-07T12:16:30Z"后,我开始接收JSON事件。

抓住时机!

希望这能有所帮助!