FullCalendar - 通过ajax发送视图

时间:2011-04-13 07:37:39

标签: php javascript jquery ajax json

我正在尝试将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添加到a​​jax调用中。我知道$('#calendar').fullCalendar('getView').name可以正常工作,因为它返回正确的值,因此它必须是行view: $('#calendar').fullCalendar('getView').name的内容,但我不确定是什么。

3 个答案:

答案 0 :(得分:3)

我想我会将此解决方案添加到此问题中以供将来参考。

通过简单地确定fullCalendar传递到我的服务器端php的startend时间戳之间的天数,我可以告诉我们检索数据的视图。

$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!');
        }
    }
});