FullCalendar 和 json 事件

FullCalendar and json events

我尝试使用 FullCalendar.js 制作可用性日历。如果我从 index.php 中的数据库调用事件,一切正常,但是当我尝试通过 json 获取事件时,我什么也得不到。日历显示但正常,但不显示事件。当我查看 smjestaj-rezervacija-kalendar.php 时,我得到:

[ { title: 'Rezervirano', start: '2015-01-30', allDay: true } , { title: 'Rezervirano', start: '2015-01-31', allDay: true } , { title: 'Rezervirano', start: '2015-02-01', allDay: true } ]  

所以它有效。任何人都知道为什么它不显示在日历上,我做错了什么?

index.php

<script type="text/javascript">
    $(document).ready(function(){
        // Event calendar js
        try{
            $('#utopia-fullcalendar-2').fullCalendar({
                header:{
                    left:'prev,next',
                    center:'title',
                    right:''
                },
                dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
                dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
                monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj','Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
                monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip','Srp','Kol','Ruj','Lis','Stu','Pro'],
                firstDay:1,
                editable:false,
                height:540,
                events: 'smjestaj-rezervacija-kalendar.php?SmjestajID=<?=$_GET['SmjestajID'];?>'
            });
        } catch (e){
            errorMessage(e);
        }
    });
    </script>

这是我的 smjestaj-rezervacija-kalendar.php:

<?php
header('Content-type: text/json; charset=utf-8');
include($_SERVER['DOCUMENT_ROOT']."/admin/config.php");
echo '[';
$SmjestajID = $_GET['SmjestajID'];
$rezultat_kalendar = mysqli_query($link, "SELECT * FROM smjestaj_kalendar WHERE KalendarSmjestaj=$SmjestajID ORDER BY KalendarID ASC");
$broj_unosa = mysqli_num_rows($rezultat_kalendar);
$i = 1;
while ($redak_kalendar = mysqli_fetch_array($rezultat_kalendar))
    {   ?> {
                    title: 'Rezervirano',
                    start: '<?=$redak_kalendar['KalendarDatum']?>',
                    allDay: true
                } 
<?php
        if ($i <> $broj_unosa){
            echo ',';
        }
        $i ++;
    }
echo ']';
?> 

我尝试使用 http://fajitanachos.com/Fullcalendar-and-recurring-events/ json 文件,但仍然一无所获。

我用谷歌搜索,发现 json 中应该没有 html 对象,所以我删除了 header('Content-type: text/json; charset=utf-8'); 并继续用数组代替 html。这个答案很有帮助:How do I get FullCalendar to display information from my JSON feed?

<?php
include($_SERVER['DOCUMENT_ROOT']."/admin/config.php");

$SmjestajID = $_GET['SmjestajID'];
$rezultat_kalendar = mysqli_query($link, "SELECT * FROM smjestaj_kalendar WHERE KalendarSmjestaj=$SmjestajID ORDER BY KalendarID ASC");
while ($record = mysqli_fetch_array($rezultat_kalendar)) {
    $event_array[] = array(
        'id' => $record['KalendarID'],
        'title' => "Rezervirano",
        'start' => $record['KalendarDatum'],
        'allDay' => true
     );
}
echo json_encode($event_array);
?>