FullCalendar v2错误:未捕获TypeError:无法读取属性' month'未定义的

时间:2014-06-26 17:16:44

标签: javascript jquery ajax fullcalendar

我在添加活动时使用了选择回调。以下代码在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) {
    }
  });


},

5 个答案:

答案 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事件的必需属性。以下是事件对象的必填字段和可选字段的链接。

http://fullcalendar.io/docs/event_data/Event_Object/

答案 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上找到,为我工作!