jQuery fullcalendar没有在IE9中显示事件

时间:2012-08-06 09:15:07

标签: javascript jquery fullcalendar

我正在尝试在IE9中使用jQuery fullcalendar。到目前为止,它在Firefox和Chrome中完美运行。我100%确定在任何对象的末尾都没有任何逗号。

IE的开发者控制台没有显示任何错误,完成请求并显示与FF / Chrome完全相同的JSON响应(多线格式化以便于阅读):

[
    {
        "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(){

                }
            }
        }
    )
);

现在这是我根本无法得到的东西。当我将events对象设置为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"}]
        }
    )
);

任何想法都可能出错?我不知道在哪里继续搜索...

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

我一直在使用带有IE9的Fullcalendar v1.5.4,并且事件不会出现在日历上(ajax源)。但由于某些奇怪的原因我并不理解,打开开发工具栏(F12)然后刷新页面会使事件出现。

这可以用作临时修复。