Проблема 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, не добавляет события в календарь.

Единственный способ заставить это работать - это жестко закодированный массив.

Любые входы???

Лучший,

0 ответов

Другие вопросы по тегам