【发布时间】:2013-12-03 01:33:12
【问题描述】:
我是 using jquery fullCalendar plugin,我遇到了一个奇怪的问题。
当我加载第一个月(在这种情况下为 2013 年 12 月)时,它工作正常。我调用我的 ajax 事件并返回一组事件。我从服务器返回 40 个事件,我看到 40 个事件呈现。
然后我搬到下个月(2014 年 1 月),它也可以正常工作。 (来自服务器的 41 个事件和 GUI 中显示的 41 个事件)
然后我单击 BACK 以更改回 2013 年 12 月,我得到了 ajax 事件,它返回相同的 40 个事件(如上),但是当日历加载时,它看到 12 月的每个事件都重复(GUI 上显示了 80 个事件) 即使我只从服务器发回 40 并且我在事件回调期间看到 40。
这是我的代码:
$('#calendar').fullCalendar({
header: {
left: 'prev,next title today',
right: ''
},
lazyFetching: false,
editable: false,
timeFormat: 'H:mm{-H:mm} ',
viewDisplay: function (view) {
ViewDisplay();
},
events: function (start, end, callback) {
$('#Month').val($('#calendar').fullCalendar('getDate').getMonth() + 1);
$("#Year").val($('#calendar').fullCalendar('getDate').getUTCFullYear());
var serializedFormInfo = $('#rotaForm').serialize();
$.ajax({
url: '/SupportRota/GetEvents/',
dataType: 'json',
cache: false,
data: serializedFormInfo,
success: function (data) {
callback(data.RotaEvents);
}
});
}
});
我尝试添加lazyLoading: false,因为我认为这是某种缓存,但这似乎并不能解决问题。
我在firebug中放了一个断点就行了
callback(data.RotaEvents)
在上述场景中,我看到了 40 个事件,但屏幕上显示了 80 个事件。
有什么建议吗?
【问题讨论】:
-
你能把
ViewDisplay代码发一下吗 -
你能提供一个jsfiddle吗?
-
顺便说一句,
viewDisplay被viewRender弃用了 -
你的回调函数是什么?
-
您能否发布第一次和第二次加载 12 月的 JSON 响应?这些事件有什么不同吗?
标签: jquery ajax fullcalendar