簡體   English   中英

Fullcalendar JSON事件供稿不適用於PHP

[英]Fullcalendar JSON event feed not working with PHP

由於某種原因,我無法將我的JSON feed(通過php組裝)顯示在我的Fullcalendar插件上。 JSON是有效的,並且如果我將其硬編碼為事件源,則效果很好。 但是,當通過URL提取它時,什么也沒有顯示! 我知道幾個人也遇到過同樣的問題,但是要么尚未得到解決,要么他們的解決方案似乎對我不起作用。 非常感謝您提供任何幫助,因為我已經盯着這兩天了,不能休息。

這是我的js

    $(function()
    {


$('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    editable: false,
    minTime: 7,
    maxTime: 20,
    slotMinutes: 15,
    eventRender: function (event, element) {
element.find('.fc-event-title').html(event.title);
},
    events: { 
    url: "http://mywebsite.com/js/schedule_feed.php",
    data: {locationID: <?=$locationID?>},
    type: "POST",
    error: function () {
        alert('there was an error while fetching events!');
    },
},
});

});

這是我的PHP:

     <?php
mysql_connect("localhost", "user", "password") or die(mysql_error());
mysql_select_db("mydatabase") or die(mysql_error());
$query = "select schedule.schedule_id, schedule.type, schedule.show, schedule.schedule_date, patients.fname, patients.lname
from schedule
LEFT JOIN patients
ON schedule.patient_id=patients.patient_id
WHERE patients.locationID='".$_POST['locationID']."'";

$res = mysql_query($query) or die(mysql_error());
$events = array();
while ($row = mysql_fetch_assoc($res)) {
    $eventsArray['id'] =  $row['schedule_id'];
$eventsArray['title'] =  ucfirst(strtolower($row['lname'])) . ", " . ucfirst(strtolower($row['fname'])); //. $isNewCustomer;
    $eventsArray['start'] = strtotime($row['schedule_date']);
    $timestamp = strtotime($row['schedule_date']) + 60*30;
    $eventsArray['end'] = $timestamp;

    $eventsArray['backgroundColor'] = '#999';
    $eventsArray['textColor'] = '#fff';
    $eventsArray['url'] = 'http://'.$_SERVER['HTTP_HOST'].'/index.php/schedule/edit_appt/' . $row['schedule_id'];
    $eventsArray['allDay'] = false;
    $eventsArray['editable'] = false;
    $eventsArray['timeFormat'] = 'h(:mm)';
    $events[] = $eventsArray;
}
echo json_encode($events);
?>

再一次,如果我直接在瀏覽器中輸入php url,它將為我提供有效的JSON。 如果我從瀏覽器復制該JSON提要並將其直接硬編碼到JS中,它將起作用! 到底他媽發生了什么? 先感謝您!

我想到了!!! 對於遇到相同問題的任何人,它都與跨域ajax有關。 您可以在以下鏈接上閱讀它: Access-Control-Allow-Origin不允許起源

我只是將此代碼添加到了我的php腳本的頂部:

    <?php header('Access-Control-Allow-Origin: http://www.mydomain.com'); ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM