创建事件后,将其保存到数据库中,并等待作为唯一id (itemId)的响应。
select: function(start, end, jsEvent) {
var title = projectName;
var eventData;
if (title) {
eventData = {
id: getId(),
itemId: 0,
projectId: projectId,
color: projectColor,
title: title,
start: start,
end: end,
allDay: 0
};
$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
//******** create event time
$.ajax({
url: 'index.php?call=saveItem',
data: {title: eventData.title, start: start.format(), end: end.format(), pid: eventData.projectId, allDay: eventData.allDay},
type: "POST",
success: function(data) {
console.log('Added Successfully: '+data);
eventData.itemId = parseInt(data);
},
fail: function( jqXHR, textStatus, errorThrown) {
console.log('error: '+jqXHR+":"+textStatus+":"+errorThrown);
}
});
}
我有itemId返回'成功',但我现在如何在事件更新itemId到一些数字,我得到了从服务器而不是'0'?
我可以在响应成功后呈现事件,但由于ajax是异步的,它需要一段时间,直到事件呈现如下
success: function(data) {
console.log('Added Successfully: '+data);
eventData.itemId = parseInt(data);
$('#calendar').fullCalendar('renderEvent', eventData, true);
}
原始问题是否有解决方案。谢谢。
我有召回事件加载函数一旦ajax响应成功。
success: function (response) {
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('refetchEvents');
},