2014-09-22 66 views
0

下载活动页面加载时,我初始化日历,并尝试点eventSourcesWeb服务” Web服务被执行时,我得到的事件,但在日历不显示。 我在做什么错?Jquery的FullCalendar不显示从Web服务

Web服务

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public List<StructEvent> GetEvent() 
{ 
    List<StructEvent> listEvent = DataEvent.GetListEvent(); 

return listEvent; 
} 

初始化日历

function CreatCalendar() { 
    $(document).ready(function() { 
     $('#calendar').fullCalendar({ 
      firstDay: 1, 
      height: 300, 
      axisFormat: 'H(:mm)', 
      timeFormat: 'H(:mm)', 
      slotDuration: "00:15:00", 
      minTime: "08:00:00", 
      maxTime: "17:00:00", 
      allDaySlot: false, 
      allDayDefault: false, 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaDay' 
      }, 
      eventSources: [LoadEvent()] 
     });  
    }); 
} 

//Loading events from the database 
function LoadEvent() { 
    $.ajax(
      { 
       type: 'POST', 
       contentType: 'application/json', 
       data: "{}", 
       dataType: 'json', 
       url: "WebServiceAppointment.asmx/GetEvent", 
       cache: false, 
       success: function (response) { 
        events: $.map(response.d, function (item, i) { 
         var event = new Object(); 
         event.start = new Date(Number(item.StartDate.replace(/[^0-9]/g,''))); 
         event.end = new Date(Number(item.EndDate.replace(/[^0-9]/g,''))); 
         event.title = item.Title; 
         event.color = 'red'; 
         event.textColor = 'black'; 
         return event; 
        }) 
       } 
      }) 
} 

回答

0

我解决我的问题,我想与大家分享的解决方案。问题是:

  • 当日历事件的初始化应添加所以 eventSources:[{事件:LoadEvents()}]
  • 日历加载比进行Ajax请求快了,我禁用 异步异步:假
  • 小变更后的装载事件

WOR国王代码!

function CreatCalendar() { 
    $(document).ready(function() { 
     $('#calendar').fullCalendar({ 
      firstDay: 1, 
      height: 300, 
      axisFormat: 'H(:mm)', 
      timeFormat: 'H(:mm)', 
      slotDuration: "00:15:00", 
      minTime: "08:00:00", 
      maxTime: "17:00:00", 
      allDaySlot: false, 
      allDayDefault: false, 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaDay' 
      }, 
      eventSources: [{events: LoadEvents()}] 
     });  
    }); 
} 

//Loading events from the database 
function LoadEvents() { 
    var events = []; 
    $.ajax(
      { 
       type: 'POST', 
       async: false, 
       cache: false, 
       contentType: 'application/json', 
       data: "{}", 
       dataType: 'json', 
       url: "WebServiceAppointment.asmx/GetEvent", 
       cache: false, 
       success: function (response) { 
       $.map(response.d, function (item, i) { 
        events.push({ 
         start: new Date(Number(item.StartDate.replace(/[^0-9]/g,''))), 
         end: new Date(Number(item.EndDate.replace(/[^0-9]/g,''))), 
         title: item.Title, 
         color: "red", 
         textColor: "black" 
        }); 
       }) 
      } 
      }) 
    return events; 
}