events: function(start, end, timezone, callback){
$.ajax({
   type:"post",
   url:"TalkServlet?action=Calendar",
   dataType:"json",
   success:function(doc){
   objs=eval(doc);
   var events = [];
   for (var i = 0; i < objs.length; i ++){
   var title = objs[i].title;
   var evtstart = new Date(Date.parse(objs[i].start));
   var evtend = new Date(Date.parse(objs[i].end));
   events.push({
   title:title,
   start:evtstart,
   end:evtend,
   id:1
   });
   }
   callback(events);
   },
   error:function(){
   alert("sdf")
   }
   });
}
用的JQuery的Fullcalendar,执行错误,callback is not a function,新手路过没搞明白啥原因

解决方案 »

  1.   

    你需要定义一个函数,名为 callback,如
    <script>function callback(arr){
    console.log(arr);
    }</script>
      

  2.   

    callback你没有传递或者不是一个函数。自己注意看api,不知道你什么版本的fc,1.5应该是events: function(start, end, callback) 这样的
      

  3.   

    应该是版本问题我的是V1.6.4 改为如下写法便可,官方文档4个参数,删除第三个参数timezone就好了
          events: function(start, end, callback) {
              $.ajax({
                url: '<%=basePath%>DutySchedule/getDutyScheduleAll.htm',
                dataType: 'json',
                async:false, 
                success: function(data) {
                 console.log(data);
                    var events = [];
                    $.each(data.list,function(i,item){
                     console.log(item);
                       var startDate=new Date(parseInt(item.stardate)).toLocaleString();
                     var endDate=new Date(parseInt(item.enddate)).toLocaleString(); 
                     events.push({
                     id:item.id,
                     title:item.name,
                            start  : startDate,
                            end    : endDate
                        });
                    }); 
                    callback(events);
                  }
            }); 
        },