Javascript 发布加载事件Fullcalendar.io
我们正在使用fullcalendar.io,希望从api控制器获取事件 我们的管制员Javascript 发布加载事件Fullcalendar.io,javascript,asp.net,json,asp.net-web-api,fullcalendar,Javascript,Asp.net,Json,Asp.net Web Api,Fullcalendar,我们正在使用fullcalendar.io,希望从api控制器获取事件 我们的管制员 [Route("api/Bookings")] public class BookingApiController { // GET [HttpGet] public string Get() { var returnJson = new { events = new[]
[Route("api/Bookings")]
public class BookingApiController
{
// GET
[HttpGet]
public string Get()
{
var returnJson = new
{
events = new[]
{
new {title = "bro", start = "2018-05-06"},
new {title = "bro2", start = "2018-05-05"}
}
};
return JsonConvert.SerializeObject(returnJson);
}
}
我们的javascript文件
$(function () {
$('#calendar').fullCalendar({
//weekends : false
dayClick: function (date) {
window.location.href = "/Booking/Booking?selectedDate=" + date.format();
},
eventSources: [
{
url: '/api/Booking',
color: 'yellow', // an option!
textColor: 'black' // an option!
}
]
})
});
但是,javascript脚本从未正确获取事件。我们可以看到它接收到JSON,但没有将事件正确添加到日历中。最终返回的JSON是什么样子的(如果您在浏览器工具中查看ajax请求,您可以看到它) fullCalendar需要一个扁平的事件数组,但看起来您返回的事件是封装在另一个对象中的,所以fullCalendar不会看到它们。它只会假设没有要返回的事件 我怀疑你收到的是这样的东西:
{
events: [
//...array of events
]
}
鉴于您需要的只是:
[
//...array of events
]
这是未经测试的,但我很肯定它会解决它:
[HttpGet]
public string Get()
{
var events = new[]
{
new {title = "bro", start = "2018-05-06"},
new {title = "bro2", start = "2018-05-05"}
};
return JsonConvert.SerializeObject(events);
}
注意在这个版本中没有外部的“returnJson”对象
有关事件提要系统(您正在使用的)的描述,请参阅,但这里也有一个形成有效事件列表所需的对象格式示例。最终返回的JSON是什么样子的(如果您在浏览器工具中查看ajax请求,您可以看到它) fullCalendar需要一个扁平的事件数组,但看起来您返回的事件是封装在另一个对象中的,所以fullCalendar不会看到它们。它只会假设没有要返回的事件 我怀疑你收到的是这样的东西:
{
events: [
//...array of events
]
}
鉴于您需要的只是:
[
//...array of events
]
这是未经测试的,但我很肯定它会解决它:
[HttpGet]
public string Get()
{
var events = new[]
{
new {title = "bro", start = "2018-05-06"},
new {title = "bro2", start = "2018-05-05"}
};
return JsonConvert.SerializeObject(events);
}
注意在这个版本中没有外部的“returnJson”对象
有关事件提要系统(您正在使用)的说明,请参阅,但此处也有一个用于形成有效事件列表的对象格式示例。您的URL错误(在controller中预订与预订),这只是一个输入错误?你说永远无法正确获取事件是什么意思?Evk yea这是一个输入错误。DavidG我们可以在网络选项卡中看到它获取JSON请求。但是,事件不会添加到日历中。这有意义吗?你的URL是错误的(控制器中的预订与预订),这只是一个输入错误?你说永远无法正确获取事件是什么意思?Evk yea这是一个输入错误。DavidG我们可以在网络选项卡中看到它获取JSON请求。但是,事件不会添加到日历中。这有意义吗?@Combii请记住在可能的情况下将答案标记为已接受。另外,由于您使用的是Web API,因此值得注意的是,如果您为事件数据创建了强类型类,您只需直接从API方法返回该类型的对象数组,Web API就会自动将它们序列化为JSON,不要手动操作。@Combii请记住在可能的情况下将答案标记为已接受。另外,由于您使用的是Web API,因此值得注意的是,如果您为事件数据创建了一个强类型类,您可以直接从API方法返回该类型的对象数组,Web API将自动将它们序列化为JSON,而不是手动执行。