Estoy intentando usar el complemento FullCalendar v5 para agregar un calendario en mi sitio web. Quiero recuperar los eventos usando la solicitud AJAX.
Esto es lo que he hecho
let calendarElement = document.getElementById('calendarElement'); let calendar = new FullCalendar.Calendar(calendarElement, { initialView: 'dayGridMonth', aspectRatio: 2.0, headerToolbar: { left: 'prev,next', center: 'title', end: 'dayGridMonth,timeGridWeek,listWeek, today prev,next' }, weekNumbers: false, lazyFetching: false, events: { url: '/events', method: 'GET', startParam: 'start', // I expect this to always be the begin of the month endParam: 'end', // I expect this to always be the end of the month failure: function (e) { console.log(e); } } }); calendar.render(); Sin embargo, los valores enviados al servidor parecen tener valores iniciales/finales incorrectos. /events?start=StartValue&end=EndValue
Si estoy buscando eventos para el mes de febrero, espero que el complemento envíe una solicitud GET al servidor con el valor 2/1/2022 00:00:00 para el start y `28/02/2022 23:59: 59' para la fecha de finalización.
Sin embargo, el complemento parece estar enviando un rango impar al servidor. El complemento envía el valor 1/30/2022 5:00:00 AM . m. como valor inicial y 3/13/2022 5:00:00 AM a. m. como valor final. La zona horaria de mi PC es -5 desde UTC, lo que explica las 5 horas. Pero espero que el valor final sea el 28/02/2022, no el 13/03/2022
¿Cómo puedo solucionar este problema para que el complemento envíe el rango exacto según la vista del usuario?
aqui una foto del calendario
No envía la primera fecha del mes , envía la primera fecha que está visible en la vista, para que no se omita nada. Para febrero de 2022, por ejemplo, según su captura de pantalla, la primera fecha visible es el 30 de enero. Lo mismo con la fecha de finalización.
Sin embargo, si establece la opción showNonCurrentDates en false :
showNonCurrentDates: falseen la configuración de su calendario, entonces no mostrará ninguna fecha fuera del mes actual cuando use la vista de mes; estarán atenuadas. Y debido a que no se mostrarán eventos en ellos, el calendario no incluye esas fechas en el rango que envía en los parámetros de solicitud de AJAX; en su lugar, usa el comienzo y el final exactos del mes.