我想通过fullcalendar将事件添加到我的DB中。所以我想添加一个事件,并将其id设置为它在DB中获得的id。
function addCalEvent(event) {
var jEvent = {};
jEvent['startTime'] = moment(event.start).unix();
jEvent['worker']="GUZ"
jEvent['title']=event.title;
if (event.end) {
jEvent['endTime'] = moment(event.end).unix();
}
$.ajax({
url: 'dux.html',
type: 'POST',
data: {
type: 'addNewEvents',
event: jEvent,
REQUEST_TOKEN: "REQUEST_TOKEN>",
},
datatype: 'json',
success: function(data) {
event.id=data;
event.title="NEW";
$('#calendar').fullCalendar('updateEvent', event);
},
});
}
ajax检索添加的事件的id,id和标题确实发生了更改,但似乎没有调用"updateEvent"方法,因为呈现的事件标题或id没有更改。
好的,很明显,如果您进行异步ajax调用,那么执行命令的顺序与编写命令的顺序不同。我需要添加async:false来实现这一点。
您可以使用$('#calendar').fullCalendar( ‘rerenderEvents’ )
手动调用重新发布事件
链接到此处的文档