ご協力ありがとうございました。私が探していた振る舞いを得るためにあなたの提案したコードを使用することができました。
上記の方法を使用している間、Firebugのコンソールには、現在の日付に関連付けられたビューと指定されたgotoDateに関連付けられたビューの2つのAJAXデータ要求が同時に実行されていることが表示されます。
ユーザーの視点から追加の遅延がないように見え、カレンダーは要求されたビューを最初から表示します。しかし、 'ロード'コールバックは何度か呼び出され、状況によっては奇妙な動作を引き起こす可能性があります。また、現在の日付に対する余分なAJAXリクエストに関連する他の望ましくない結果があるかもしれません。
イベントソースなしでカレンダーを初期化してから、上記のBiesiorのように希望の日付に移動し、イベントソースを追加することで、不要なAJAXリクエストを回避できました。シーケンスは以下の通りです。 私は、関係のないFullCalendarオプションとコールバックを削除して簡潔にしました。追加のAJAXパラメータといくつかのPHPがありますが、重要なのはイベントソースが指定されていることです。 2つの同時AJAXリクエストで
元のコードの結果:のみ希望AJAX要求で
$('#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?>);
この調整結果:
$('#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?>
}
});
おかげで、それがとてもうまくいきました。 –
私は知っている、これは私がちょうど作業しているコードからスニペットです]]その答えを受け入れる。 – biesior
答えを一度も受け入れなかったので、私はあなたに+1を与えます。 – Rohrbs