我正在尝试将fullCalendar插件集成到网站中。我遇到的问题是我正在尝试发送当前视图,它是月份,agendaDay等...,通过json / $ .ajax方法作为自定义参数。
$('#calendar').fullCalendar({
events: {
url: 'feed.php',
type: 'POST',
data: {
view: $('#calendar').fullCalendar('getView').name
},
error: function() {
alert('there was an error while fetching events!');
}
}
});
以上是返回任何错误,但自定义view
变量未与正常值一起传递。
我尝试了以下内容:
$('#calendar').fullCalendar({
events: {
url: 'feed.php?view=' + $('#calendar').fullCalendar('getView').name,
.......
但这只是将?view=undefined
添加到ajax调用中。我知道$('#calendar').fullCalendar('getView').name
可以正常工作,因为它返回正确的值,因此它必须是行view: $('#calendar').fullCalendar('getView').name
的内容,但我不确定是什么。
答案 0 :(得分:3)
我想我会将此解决方案添加到此问题中以供将来参考。
通过简单地确定fullCalendar传递到我的服务器端php的start
和end
时间戳之间的天数,我可以告诉我们检索数据的视图。
$NumberOfDaysInView = abs($_GET['start'] - $_GET['end'])/60/60/24;
希望这有帮助!
答案 1 :(得分:0)
这是因为你在初始化之前调用了“fullCalendar()”并且不允许这样做。
$('#calendar').fullCalendar({...});
这意味着$('#calendar')(一个jquery对象)将由您在{...}中发送的值初始化。
因此,在fullCalendar()初始化完成之前,您无法使用它。
答案 2 :(得分:0)
看起来您在初始化之前尝试访问fullCalendar。尝试将其分解为单独的步骤:
$('#calendar').fullCalendar();
var viewName = $('#calendar').fullCalendar('getView').name;
$('#calendar').fullCalendar({
events: {
url: 'feed.php',
type: 'POST',
data: {
view: viewName
},
error: function() {
alert('there was an error while fetching events!');
}
}
});