完整日历 - 加载JSON事件时出错

时间:2018-03-02 17:23:42

标签: php ajax fullcalendar

我在使用完整日历(FC)时遇到问题,无法读取我从数据库返回的JSON对象,以便在日历上显示事件。我在哪里可以俯瞰?

我的jQuery for FC就在这里:

$('#calendar').fullCalendar({
        defaultView: 'month',
        titleFormat: "MMMM YYYY",
        header: {
            left: 'month,agendaWeek,agendaDay',
            center: 'title',
            right: 'prevYear,prev,next,nextYear'
        },
        events: {
            url: "../ajax/tutor/json_events.php",
            type: "POST",
            color: "yellow",
            textColor: "black",
            error: function() {
                alert('There was an error while fetching events.');
            }
        }
    });

json_events.php在这里:

$returnArray = array();
$userID = filter_input(INPUT_GET, "id");

$connect = db();

$stmt = $connect->prepare("SELECT * FROM Lessons WHERE TutorID = 1");

if($stmt->execute()){
    $results = $stmt->get_result();

    while($row = $results->fetch_assoc()){
        $rowArray['start'] = $row['Start'];
        $rowArray['end'] = $row['End'];
        $rowArray['title'] = $row['CourseTaught'];

        array_push($returnArray, $rowArray);
    }

    $json = json_encode($returnArray);
}

echo print_r($json);

$stmt->close();

JSON对象显示完美,但由于某种原因,jquery事件正在抛出警报,我只是以某种方式忽略了错误。一双新鲜的眼睛会很有用。

2 个答案:

答案 0 :(得分:1)

$json周围加上方括号,类似echo('['.$json.']');

答案 1 :(得分:0)

您正在使用print_r()在PHP中返回人类可读的变量转储。您的JavaScript期望使用不格式化的真正JSON对象。

只需echo $json;而不是echo print_r($json);,您将获得没有周围<pre>标记的json对象。