javascript - 全日历 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(文档):
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);
}
推荐阅读
- python - 在 Python 中,为什么为没有定义超类的类调用 super() 函数不是错误?
- php - 是否可以在 HTML 文件中使用 PHP 函数?
- joi - 如何使用 Joi 拥有一个嵌套的所需未知键值对象
- javascript - 通过匹配表中的关联为行着色
- c++ - 计算大斐波那契数的 mod m
- vue.js - 如何以正确的方式在 Nuxt 项目中添加 Vuepress?
- class - unity 获取子数据
- cuda - 修改基本示例 VECADD 以使用共享内存
- typescript - 使用 Typescript 时解析器出现 Apollo GraphQL Schema Stitching 问题
- java - 如何绘制多边形,然后按比例调整大小并将其移动到显示区域的中心?