Vielen Dank Biesior für Ihre hilfreiche Antwort. Ich konnte Ihren vorgeschlagenen Code verwenden, um das Verhalten zu erhalten, nach dem ich gesucht habe.
Während ich den obigen Ansatz nutze, bemerke ich, dass die Firebug-Konsole zwei AJAX-Datenanforderungen gleichzeitig ausführt, einen für die mit dem aktuellen Datum verknüpfte Ansicht und einen für die mit dem angegebenen gotoDate verknüpfte Ansicht.
Es scheint keine zusätzliche Verzögerung aus Sicht des Benutzers zu geben, und der Kalender zeigt die gewünschte Ansicht von Anfang an an. Callbacks zum Laden werden jedoch mehrfach aufgerufen, was unter Umständen zu merkwürdigem Verhalten führen kann. Es können auch andere unerwünschte Ergebnisse mit der überflüssigen AJAX-Anforderung für das aktuelle Datum verbunden sein.
Ich konnte die unnötige AJAX-Anfrage vermeiden, indem ich den Kalender ohne eine Ereignisquelle initialisiere, dann zum gewünschten Datum gehe, wie von Biesior oben gezeigt, und dann die Ereignisquelle hinzufüge. Die Sequenz ist unten gezeigt. Ich habe einige nicht verwandte FullCalendar-Optionen und Callbacks entfernt, um es übersichtlich zu halten. Es gibt einige zusätzliche AJAX-Parameter und etwas PHP, aber das Wichtigste ist, wenn die Ereignisquelle angegeben wird.
der ursprüngliche Code zu zwei gleichzeitigen AJAX Anfragen:
$('#calendar').fullCalendar({
events: {
url:'/Services/GetEvents.php',
type: 'POST',
data: {
lat: <?=$venLatitude?>,
lon: <?=$venLongitude?>,
userID: <?=$userID?>,
distance: <?=$distance?>
}
}
})
$('#calendar').fullCalendar('gotoDate', <?=(int)substr($startDate,0,4)?>, <?=((int)substr($startDate,5,2))-1?>);
Diese Anpassung führt zu nur der gewünschten AJAX Anfrage:
$('#calendar').fullCalendar();
$('#calendar').fullCalendar('gotoDate', <?=(int)substr($startDate,0,4)?>, <?=((int)substr($startDate,5,2))-1?>);
$('#calendar').fullCalendar('addEventSource', {
url:'/Services/GetEvents.php',
type: 'POST',
data: {
lat: <?=$venLatitude?>,
lon: <?=$venLongitude?>,
userID: <?=$userID?>,
distance: <?=$distance?>
}
});
Dank funktionierte es groß. –
Ich weiß, das ist Code-Schnipsel, an dem ich gerade arbeite;] akzeptiere die Antwort dann. – biesior
Ich gebe dir +1, da er die Antwort nie akzeptiert hat. – Rohrbs