Как получить FullCalendar для отображения информации из моего канала JSON?

Я настраиваю приложение с помощью FullCalendar ( http://arshaw.com/fullcalendar/ ), которое позволит пользователю видеть информацию о планировании клиентов, а также планировать клиентов через интерфейс управления.

Я хочу использовать базу данных MySQL для заполнения массива, а затем передать этот массив в виде канала JSON в FullCalendar на HTML-странице. В идеале, информация о клиенте будет отображаться на странице HTML. Однако, хотя мой канал JSON передается, на моем FullCalendar нет событий.

Пример передачи JSON:

[{"title":"Watson","start":"1333976400","end":"1333980000","allDay":false}] 

Я довольно новичок в этих языках, и я не удивлюсь, если эта ошибка окажется простой.

Я был бы глубоко признателен за любую помощь или понимание того, что эти события появятся. Когда я вручную подаю массив в FullCalendar, он показывает события, но до сих пор мой канал JSON не показывал никакой информации.

спасибо

Для справки: HTML:

  $(document).ready(function() { $('#calendar').fullCalendar({ events: '/json-events.php' }); }); 

PHP:

  while ($record = mysql_fetch_array($result)) { $event_array[] = array( 'id' => $record['id'], 'title' => $record['title'], 'start' => $record['start_date'], 'end' => $record['end_date'], 'allDay' => false ); } echo json_encode($event_array); 

Таким образом, проблема для тех поисковиков, которые приходят после меня, заключалась в том, что у моего PHP-файла были HTML-заголовки и теги тела. Я PHP noob, поэтому я не знал, что это не сработает. Чтобы FullCalendar отображал канал JSON, он должен иметь только PHP-код, а не HTML. JSONLint.com был неоценим в том, чтобы понять это.

Я установил быстрый пример и не имел никаких проблем с тем, чтобы это работало:

PHP:

 <?php $record[0]["title"]="Test 1"; $record[1]["title"]="Test 2"; $record[2]["title"]="Test 3"; $record[0]["start_date"]="1333976400"; $record[1]["start_date"]="1333976401"; $record[2]["start_date"]="1333976402"; $record[0]["end_date"]="1333980000"; $record[1]["end_date"]="1333980001"; $record[2]["end_date"]="1333980002"; $record[0]["id"]="1"; $record[1]["id"]="2"; $record[2]["id"]="3"; for ($i=0; $i<3; $i++) { $event_array[] = array( 'id' => $record[$i]['id'], 'title' => $record[$i]['title'], 'start' => $record[$i]['start_date'], 'end' => $record[$i]['end_date'], 'allDay' => false ); } echo json_encode($event_array); exit; ?> 

HTML:

 events: '/events.php' 

Пример вывода из скрипта PHP:

 [{"id":"1","title":"Test 1","start":"1333976400","end":"1333980000","allDay":false},{"id":"2","title":"Test 2","start":"1333976401","end":"1333980001","allDay":false},{"id":"3","title":"Test 3","start":"1333976402","end":"1333980002","allDay":false}] 

Поэтому, учитывая, что вышеизложенное работает для меня, и это действительно не отличается от того, что у вас есть выше, вам может потребоваться проверить, правильно ли вызывается PHP-скрипт. Проверьте консоль Javascript в Mozilla Firefox или Google Chrome, чтобы узнать, есть ли какие-либо ошибки, возникающие при попытке загрузить Fullcalendar. Проверьте свои журналы доступа к веб-серверу / записи ошибок для любого упоминания скрипта PHP.

 events: '/json-events.php' 

должны быть либо

 events: './json-events.php' 

или

 events: 'json-events.php' 

Позвольте мне знать, если это помогает…

РЕДАКТИРОВАТЬ

Я также заметил, что в Json, что вы получаете, в строке нет идентификатора. Возможно, что-то происходит между именем вашего идентификатора в DB по сравнению с именем, используемым вами в массиве. Проверьте это и посмотрите, что происходит, потому что это одно из свойств, необходимых для передачи события.

РЕДАКТИРОВАТЬ

Попробуйте удалить [] из $ event_array [] и посмотреть, что произойдет … Если это не сработает, я упал … извините