我在使用完整日历(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事件正在抛出警报,我只是以某种方式忽略了错误。一双新鲜的眼睛会很有用。
答案 0 :(得分:1)
在$json
周围加上方括号,类似echo('['.$json.']');
答案 1 :(得分:0)
您正在使用print_r()在PHP中返回人类可读的变量转储。您的JavaScript期望使用不格式化的真正JSON对象。
只需echo $json;
而不是echo print_r($json);
,您将获得没有周围<pre>
标记的json对象。