You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FullCalendar v5无法渲染PHP返回JSON中的事件求助

FullCalendar v5 事件无法显示问题排查

问题描述

使用FullCalendar v5开发,日历可正常渲染,但后端返回的事件无法显示。前端初始化代码如下:

var date = new Date()
var d = date.getDate(),
    m = date.getMonth(),
    y = date.getFullYear()

var Calendar = FullCalendar.Calendar;
var calendarEl = document.getElementById('calendar');

// initialize the external events
// -----------------------------------------------------------------
var calendar = new Calendar(calendarEl, {
    headerToolbar: {
        left: 'prev,next,today',
        center: 'title',
        right: ''
    },
    themeSystem: 'bootstrap',
    events: {
        url: '/load/load_event.php,
        method: 'GET',
        failure: function () {
            alert('there was an error while fetching events!');
        }
    }
});
calendar.render(); 

后端load_event.php返回的JSON数据:

[
  {
    "id": 1,
    "Title": "Not Available",
    "Start": "2022-07-21",
    "End": "2022-08-05",
    "backgroundColor": "#FF0000",
    "borderColor": "#FF0000"
  }
] 

错误原因及解决方法

1. 前端URL配置存在语法错误

在events配置的url字段中,单引号未闭合:

url: '/load/load_event.php, // 缺少末尾的单引号

解决方法:补充单引号,修正为:

url: '/load/load_event.php',

2. 后端返回的JSON字段名不符合FullCalendar规范

FullCalendar v5对事件字段名有严格的大小写要求,默认识别小写的字段名:

  • 事件标题:title(而非Title)
  • 开始时间:start(而非Start)
  • 结束时间:end(而非End)

后端返回的JSON使用了大写开头的字段名,FullCalendar无法识别这些字段,因此不会渲染事件。

解决方法:修改后端load_event.php的输出,将字段名改为小写:

[
  {
    "id": 1,
    "title": "Not Available",
    "start": "2022-07-21",
    "end": "2022-08-05",
    "backgroundColor": "#FF0000",
    "borderColor": "#FF0000"
  }
] 

完成以上两处修改后,事件即可正常显示在日历上。

内容的提问来源于stack exchange,提问作者Wilson Ho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 08:15:42