JQuery FullCalendar tiene problemas al invocar a rerenderEventos del éxito de ajax

Por alguna razón, no puedo volver a enviar el calendario después de un POST. Todo va bien hasta ese punto:

$('#calendar').fullCalendar({ ... select: function (startDate, endDate) { $.ajax({ url: 'data.php', type: "POST", data: { 'start':startDate, 'end':endDate, } success: $('#calendar').fullCalendar('rerenderEvents') } ... }); 

Los datos se publican correctamente, mi script php agrega el nuevo evento a la base de datos muy bien. El único problema es que el calendario no se vuelve a enviar con los nuevos datos en la base de datos.

Si actualizo la página (F5 en Firefox), se representa el nuevo evento. Obviamente, necesito que el evento se muestre tan pronto como se haya asignado a la base de datos. No puedo esperar que mi usuario actualice la página.

He hecho muchas permutaciones de esta statement de éxito, por ejemplo:

 function () { $('#calendar').fullCalendar('rerenderEvents'); } 

y (con mi php volviendo ‘éxito’),

 function (data) { if (data === 'success') $('#calendar').fullCalendar('renderEvents'); } 

Sin embargo, pase lo que pase, el nuevo evento agregado a la base de datos solo aparece si actualizo la pantalla. ¿Alguien puede sugerir lo que podría estar haciendo mal?

Tratar:

 $('#calendar').fullCalendar("refetchEvents"); 

Actualización 2013-01-31.

Eso funciona porque está obligando a FC a volver a leer el origen del evento y volver a generar el calendario.

Sin embargo, si a veces se trata de una solución de fuerza bruta, otra forma de lograr lo mismo (cuando sea posible) es hacerlo, por ejemplo, en dayClick al crear un nuevo evento:

  • actualizar evento-DB usando $.ajax
  • cree el nuevo evento correspondiente: yourcal.fullCalendar('renderEvent', {id:x,start:timest,end:timend,title:txt}, true);