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

Fullcalendar.io无法正确加载API返回事件的问题求助

解决FullCalendar无法加载API返回事件的问题

看起来问题出在几个关键细节上,我帮你逐一排查并修复:

1. 路由地址不匹配

你的控制器路由标注的是[Route("api/Bookings")],但JavaScript里请求的URL是/api/Booking——注意末尾少了个s!这会导致请求找不到对应的API接口,甚至返回404错误。

2. API返回格式不正确

你现在手动用JsonConvert.SerializeObject把对象序列化成字符串返回,这种方式会让ASP.NET默认返回text/plain类型的响应,而FullCalendar需要的是application/json类型的响应,这可能导致它无法正确解析返回的JSON数据。

修复后的代码示例

修改后的API控制器代码

[Route("api/Bookings")]
public class BookingApiController : Controller
{
    // GET api/Bookings
    [HttpGet]
    public IActionResult Get()
    {
        var events = new[]
        {
            new { title = "bro", start = "2018-05-06" },
            new { title = "bro2", start = "2018-05-05" }
        };
        // 直接返回JsonResult,框架会自动处理序列化和响应头
        return Json(new { events = events });
    }
}

修改后的JavaScript代码

$(function () {
    $('#calendar').fullCalendar({
        dayClick: function (date) {
            window.location.href = "/Booking/Booking?selectedDate=" + date.format();
        },
        eventSources: [
            {
                url: '/api/Bookings', // 修正路由地址,加上末尾的s
                color: 'yellow',
                textColor: 'black'
            }
        ]
    })
});

额外检查点

  • 确保项目中已正确引用FullCalendar的相关JS和CSS文件,没有缺失依赖。
  • 打开浏览器开发者工具(F12),切换到Network标签,查看/api/Bookings请求的返回状态码和响应内容,确认返回的是正确的JSON格式且状态码为200。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:14:49