FullCalendar不显示JSON事件

时间:2012-01-21 01:41:51

标签: php jquery fullcalendar

我查看了所有示例,但我无法弄清楚为什么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);
?>

2 个答案:

答案 0 :(得分:0)

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

还要确保Javascript正确调用PHP脚本(您可以在Web服务器访问日志中查看)。如果没有正确调用它,可能需要指定PHP文件的完整路径。

答案 1 :(得分:0)

尝试检查您的日期值是否为: 一个。 IETF格式(例如:“Wed,2009年10月18日13:00:00 EST”) 湾ISO8601格式的字符串(例如:“2009-11-05T13:15:30Z”) C。 UNIX时间戳

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

一个棘手的时刻!

希望这有帮助!