我在添加活动时使用了选择回调。以下代码在v1中工作,但我在v2中获得了Uncaught TypeError。当我删除ajax代码时没有错误,但当然我需要将新事件添加到数据库。
select: function(start, end, jsEvent, view) {
var title = 'Available';
var eventData;
eventData = {
title: title,
start: start
};
$.ajax({
type : 'POST',
url : 'add-event.php',
data: eventData,
success : function(data){
$('#calendar').fullCalendar('renderEvent', {
id: data.id,
title: data.title,
start: data.start,
start: data.end
}, true);
$('#calendar').fullCalendar('unselect');
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
}
});
},
答案 0 :(得分:10)
尝试使用format()
格式发送startDate和endDate。
select: function(start, end, jsEvent, view) {
var title = 'Available';
var eventData;
eventData = {
title: title,
start: start
};
$.ajax({
type : 'POST',
url : 'add-event.php',
data: eventData,
success : function(data){
$('#calendar').fullCalendar('renderEvent', {
id: data.id,
title: data.title,
start: data.start.format(),
end: data.end.format()
}, true);
$('#calendar').fullCalendar('unselect');
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
}
});
},
您可以参考Momentjs
答案 1 :(得分:1)
请检查活动数据。事件的Source属性必须为null或未填充。所以在致电
之前$('#calendar')。fullCalendar(' renderEvent',event);
您必须确保必须填充fullcalendar事件的必需属性。以下是事件对象的必填字段和可选字段的链接。
答案 2 :(得分:0)
两个版本中使用的“日历”脚本不同。
如果你观察到,在V1中对你的php文件的调用是:
get-events?start=1362076200000&end=1364754600000&_=1403859868502
和V2的调用:
get-events.php?start=2014-06-01&end=2014-07-13&_=1403859868502
希望这会对你有所帮助。
答案 3 :(得分:0)
我遇到了这个并注意到v2似乎在事件对象中设置了一些额外的_start和_end参数。我发现我需要这样做:start = _start.format()以防止片刻尝试序列化。我不确定这是最佳解决方案,但也许它会帮助你。
答案 4 :(得分:0)
body .fc {
overflow:auto;
}
在github上找到,为我工作!