[英]Fullcalendar JSON/AJAX
目前,我正在研究Fullcalendar v3。
我的events
代碼用於設置在日歷中顯示項目所需的事件:
eventSources: [{
events: function(start, end, timezone, callback) {
$.ajax({
url : 'dispatcher.php',
type : 'post',
dataType: 'json',
data : {
// requires UNIX timestamps
start : start.unix(),
end : end.unix(),
component : 'Rak',
controller: 'Read',
task : 'getCalendarEvents'
},
success : function(doc) {
var events = [];
$(doc).find('event').each(function() {
events.push({
title : $(this).attr('title'),
start : $(this).attr('start'), // will be parsed
end : $(this).attr('end'), // will be parsed
className: $(this).attr('className')
});
});
callback(events);
console.log(doc);
}
});
}
}]
Console.log(doc) :
0:{id:“ 1”,標題:“ Testtesttest”,開始:“ 2019-01-15”,結束:“ 2019-01-16”,className:“ event-azure”}長度:1
但是...項目未顯示在日歷中。 我究竟做錯了什么? 目前我一無所知。
正在發送JSON格式,並且應該在事件中使用它。
非常感謝您的幫助!
硬編碼示例可顯示所需格式:
events: [
{
title : 'event1',
start : '2010-01-01'
},
{
title : 'event2',
start : '2010-01-05',
end : '2010-01-07'
},
{
title : 'event3',
start : '2010-01-09T12:30:00',
allDay : false // will make the time show
}
]
您可以執行以下操作:
$('#calendar').fullCalendar({
events: {
url: "<?php echo Yii::getAlias('@COMPANY_URL') . '/shedule/get_event' ?>",
}
});
在dispatcher.php中,您必須生成如下格式的json
[
{
title: 'Event Title1',
start: '2015-03-17T13:13:55.008',
end: '2015-03-19T13:13:55.008'
},
{
title: 'Event Title2',
start: '2015-03-17T13:13:55-0400',
end: '2015-03-19T13:13:55-0400'
}
]
在我的控制器中是這樣的:
public function actionGet_event() {
$events = Shedule::find()->all();
$eventsJson = array();
foreach ($events as $event) {
$url = "https://www.google.co.in/";
$eventsJson[] = array(
'description' => $event->event_desc,
'title' => $event->event_title,
'start' => $event->event_date,
'edit' => $url,
'className' => ["event", "bg-color-greenLight"],
'icon' => 'fa-check',
);
}
echo json_encode($eventsJson);
}
根據您的問題文本, console.log(doc)
已經生成了一個有效的事件數組( 根據事件對象的fullCalendar文檔,具有有效的值和字段名),因此您無需創建單獨的events
變量,也不必進行處理doc
以任何方式。
相反,您可以直接將數據直接傳遞給fullCalendar,而無需對其進行任何處理:
success : function(doc) {
callback(doc);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.