我正在尝试使用json feed在fullcalendar的events选项中使用ajax调用,但它不起作用。我在asp.net mvc4应用程序中工作。我的ajax调用工作正常,按预期返回json,但作为测试,我只是尝试创建一个名为events的本地数组,添加一些示例数据并将其传递给回调。但由于某种原因,这不会在fullcalendar代码中设置,并且这不会在呈现的日历上显示。我正在调试fullcalendar源码,但还没有弄明白为什么它没有设置。有任何想法吗?
$('#calendar').fullCalendar({
theme: false,
timeFormat: '',
height: 'auto',
weekends: true,
events: function (start, end, callback) {
$.ajax({
type:'POST',
url: '@Url.Content("~/Home/GetJson")',
dataType: 'json',
data: {
start: start.toLocaleString("yyyy-mm-dd"),
end: end.toLocaleString("yyyy-mm-dd")
},
error: function (xhr, type, exception) { alert("Error: " + exception); },
success: function (response) {
var events = [];
events.push({
title: "new title",
start: "2014-11-05T13:15:30Z"
});
callback(events);
}
});
}
});
如果我在像这个
这样的events选项中传入一个json字符串,我已经确认fullcalendar有效events:
[{ title: 'Event1', start: '2014-11-05T13:15:30Z' },
{ title: 'Event2', start: '2014-11-06T13:15:30Z' }]
答案 0 :(得分:4)
假设您使用的是FullCalendar 2. *,events as a function的签名是:
function( start, end, timezone, callback ) { }
只要您的event object is valid(您需要title
和start
),如果您更改了
events: function (start, end, callback) {
到
events: function (start, end, timezone, callback) {