2012-08-06 91 views
1

我试图让jQuery fullcalendar在IE9中工作。到目前为止,它在Firefox和Chrome中运行良好。我100%肯定在任何对象的末尾都没有任何逗号。jQuery fullcalendar在IE9中未显示事件

IE的显影剂控制台没有显示任何错误,完成该请求,并显示完全相同的JSON响应为FF /铬(多线格式为可读性):

[ 
    { 
     "beschreibung":"", 
     "end":"2012-07-05 19:00:00", 
     "username":"dm", 
     "ort":"hier", 
     "allDay":"", 
     "id":"763-1340202369", 
     "title":"termin für den nächsten monat", 
     "start":"2012-07-05 17:00:00" 
    },{ 
     "beschreibung":"dfgsfdg", 
     "end":"2012-07-31 12:00:00", 
     "username":"dm", 
     "ort":"", 
     "allDay":"", 
     "id":"UBePvX8AAQEAACyIg", 
     "title":"termin für heute", 
     "start":"2012-07-31 10:00:00" 
    } 
] 

这是我的代码:

$o = { 
    calOptions: { unselectCancel:'.calEdit', theme: true, buttonText: { today:'Heute', month:'Monat', week:'Woche', day:'Tag' }, monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], timeFormat: 'H(:mm)', axisFormat: 'H(:mm):00', header: { left:'prev,next today', center:'title', right:'month,agendaWeek,agendaDay' }, editable: true, allDayText: 'Ganztägig', firstDay: 1, firstHour: 8, allDaySlot: false, allDayDefault:false } 
}  

$('#db .fullCalendar').fullCalendar(
    $.extend(
     $o.calOptions, { 
      events: { 
       url: 'c.pl', 
       type: 'POST', 
       data: { 
        j: 'json', 
        x: 'c' 
       }, 
       error: function(){ 

       } 
      } 
     } 
    ) 
); 

现在,这里是我没有得到根本的东西。当我设置的事件对象的JSON响应,IE9可以显示它们:

$('#db .fullCalendar').fullCalendar(
    $.extend(
     $o.calOptions, { 
      events: [{"beschreibung":"","end":"2012-07-05 19:00:00","username":"dm","ort":"hier","allDay":"","id":"763-1340202369","title":"termin für den nächsten monat","start":"2012-07-05 17:00:00"},{"beschreibung":"dfgsfdg","end":"2012-07-31 12:00:00","username":"dm","ort":"","allDay":"","id":"UBePvX8AAQEAACyIg","title":"termin für heute","start":"2012-07-31 10:00:00"}] 
     } 
    ) 
); 

任何想法可能是错误的?我不知道在哪里继续寻找......

回答

0

确保您的响应内容类型设置为

application/json 

编辑

我认为选择对象结构是不正确的
替换此

$o = { 
    calOptions: { 
     unselectCancel: '.calEdit', 
     theme: true, 
     buttonText: { 
      today: 'Heute', 
      month: 'Monat', 
      week: 'Woche', 
      day: 'Tag' 
     }, 
     monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 
     dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 
     dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 
     timeFormat: 'H(:mm)', 
     axisFormat: 'H(:mm):00', 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     editable: true, 
     allDayText: 'Ganztägig', 
     firstDay: 1, 
     firstHour: 8, 
     allDaySlot: false, 
     allDayDefault: false 
    } 
} 

有了这个

$o = { 
    unselectCancel: '.calEdit', 
    theme: true, 
    buttonText: { 
     today: 'Heute', 
     month: 'Monat', 
     week: 'Woche', 
     day: 'Tag' 
    }, 
    monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 
    dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 
    dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 
    timeFormat: 'H(:mm)', 
    axisFormat: 'H(:mm):00', 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    editable: true, 
    allDayText: 'Ganztägig', 
    firstDay: 1, 
    firstHour: 8, 
    allDaySlot: false, 
    allDayDefault: false 
} 
+0

正确...忘了明确设置它,但它仍然不适用于设置为application/json的内容类型。 – koko 2012-08-06 09:38:38

+0

编辑我的答案 – 2012-08-06 09:56:32

+0

我正在扩展'$ o.calOptions',如果按照您的建议,我必须扩展'$ o'。 – koko 2012-08-06 11:07:01

0

我一直在使用Fullcalendar v1.5.4与IE9和事件不会出现在日历(ajax源)。但出于一些奇怪的原因,我不太明白,打开开发工具栏(F12),然后刷新页面会显示事件。

这可以用作临时修复。