我使用fullcalendar并希望将所选视图的 (不是当前视图)发送到页面“ajax_load_projektkalender.php”。
以下尝试会导致错误:
events: {
url: 'ajax_load_projektkalender.php',
type: 'POST',
data: function() { // a function that returns an object
return {
projekte_key: $('#projekte_key').val(),
aufgaben_key: $('#aufgaben_key').val(),
sel_year: $('#calendar').fullCalendar('getView').start.format('Y'),
urlaub_key: $('#urlaub_key').val(),
termine_key: $('#termine_key').val()+'',
gruppiert_key: $('#gruppiert_key').val(),
bdauer_key: $('#bdauer_key').val()
};
},
error: function() {
alert('there was an error while fetching events!');
},
color: 'yellow', // a non-ajax option
textColor: 'black' // a non-ajax option
}
错误:TypeError:$(...)。fullCalendar(...)。start为null [Weitere Informationen]
我很无奈......有人可以给我建议吗?
丹尼尔
答案 0 :(得分:1)
你有一个引导问题:你通过引用当前视图来定义日历的事件,但是在你定义日历的事件之前它将是空的...要打破循环,假设最初你想要显示当前年份,您可以写下如下内容:
data: function() {
var current = $('#calendar').fullCalendar('getView').intervalStart
var y = (current?current:moment()).format('Y')
return {
...
sel_year: y,
...
}
我不确定你要做什么,但实际上我怀疑你根本不需要它,因为fullcalendar会自动向你的php服务器添加ajax请求参数“start”保持开始日期以ISO格式显示的句号(以及类似的“结束”参数)。您甚至可以使用例如
为参数指定替代名称startParam: 'Anfang'
在您的日历对象中。
答案 1 :(得分:0)
尝试使用intervalStart而不是start。这应该可以解决错误,但我不确定它是否能解决您的问题。