Проблема fullcalendar js с фидом Json
Кто-нибудь сталкивается с проблемами с JSON Feed на FullCalendar?
Кажется, все работает как обычно, с точки зрения кода.
PHP
<?php
date_default_timezone_set('Europe/London');
$sessionUser = $_SESSION['id'];
$selectApp = "SELECT * FROM `appointments` WHERE appointment_user_id = $sessionUser";
$selectAppQuery = mysqli_query($conn, $selectApp);
$events = array();
while ($resultApp = mysqli_fetch_array($selectAppQuery)) {
$ap['id'] = $resultApp['appointment_id'];
$ap['title'] = $resultApp['appointment_title'];
$ap['urn'] = $resultApp['appointment_urn'];
$ap['start'] = date("c", strtotime($resultApp['appointment_start']));
$ap['end'] = date("c", strtotime($resultApp['appointment_end']));
$ap['timeStart'] = $resultApp['appointment_time_from'];
$ap['timeEnd'] = $resultApp['appointment_time_to'];
$ap['note'] = $resultApp['appointment_note'];
$ap['location'] = $resultApp['appointment_location'];
$ap['allDay'] = $resultApp['appointment_day'];
$ap['email'] = $resultApp['appointment_email_confirmation'];
array_push($events, $ap);
}
echo json_encode($events);
?>
Видимо это дает мне:
JSON
[
{
"id":"40",
"title":"Session",
"urn":"MP1",
"start":"2018-09-28T00:00:00+01:00",
"end":"2018-09-28T00:00:00+01:00",
"timeStart":"7:00am",
"timeEnd":"8:00am",
"note":"Another note",
"location":"Enfield",
"allDay":"true",
"email":"not-sent"
},
{
"id":"41",
"title":"Session",
"urn":"MP1",
"start":"2018-09-28T00:00:00+01:00",
"end":"2018-09-28T00:00:00+01:00",
"timeStart":"9:00am",
"timeEnd":"10:00am",
"note":"More notes",
"location":"Athens",
"allDay":"false",
"email":"not-sent"
}
]
var_dump ($ events) дает
array(2) {
[0]=>
array(11) {
["id"]=>
string(2) "40"
["title"]=>
string(7) "Session"
["urn"]=>
string(3) "MP1"
["start"]=>
string(25) "2018-09-28T00:00:00+01:00"
["end"]=>
string(25) "2018-09-28T00:00:00+01:00"
["timeStart"]=>
string(6) "7:00am"
["timeEnd"]=>
string(6) "8:00am"
["note"]=>
string(12) "Another note"
["location"]=>
string(7) "Enfield"
["allDay"]=>
string(4) "true"
["email"]=>
string(8) "not-sent"
}
[1]=>
array(11) {
["id"]=>
string(2) "41"
["title"]=>
string(7) "Session"
["urn"]=>
string(3) "MP1"
["start"]=>
string(25) "2018-09-28T00:00:00+01:00"
["end"]=>
string(25) "2018-09-28T00:00:00+01:00"
["timeStart"]=>
string(6) "9:00am"
["timeEnd"]=>
string(7) "10:00am"
["note"]=>
string(10) "More notes"
["location"]=>
string(6) "Athens"
["allDay"]=>
string(5) "false"
["email"]=>
string(8) "not-sent"
}
}
Теперь... в моем calendar.js у меня есть:
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'title',
center: '',
right: 'today prev,next'
},
themeSystem: 'bootstrap4',
// first way to go - does not work
// events: {
// url: './file.php',
// type: 'POST',
// error: function() {
// $('#error').html('<p class="text-danger font-weight-bold text-center">There was an error while fetching events!</p>');
// },
// color: 'yellow',
// textColor: 'black',
// cache: true
// }
// second way to go - hardcode works
events: [
{
"id":"40",
"title":"Session",
"urn":"MP1",
"start":"2018-09-28T00:00:00+01:00",
"end":"2018-09-28T00:00:00+01:00",
"timeStart":"7:00am",
"timeEnd":"8:00am",
"note":"Another note",
"location":"Enfield",
"allDay":"true",
"email":"not-sent"
},
{
"id":"41",
"title":"Session",
"urn":"MP1",
"start":"2018-09-28T00:00:00+01:00",
"end":"2018-09-28T00:00:00+01:00",
"timeStart":"9:00am",
"timeEnd":"10:00am",
"note":"More notes",
"location":"Athens",
"allDay":"false",
"email":"not-sent"
}
]
// third way to go - does not work
// events: './file.php'
});
});
Почему только жестко закодированный JSON добавляет события в календарь? Я делаю что-то не так?
Интересно, кто-нибудь может помочь, потому что я не могу иметь никакого смысла вообще.
Я не могу понять, почему json_encode из PHP, который генерирует массив json, не добавляет события в календарь.
Единственный способ заставить это работать - это жестко закодированный массив.
Любые входы???
Лучший,