ユーザーが画面 (左側) で基準を選択できるようにするプロジェクトに取り組んでおり、選択した基準にPole
Country
City
基づいてデータを表示するテーブル (使用しているウィジェット) があります。
私の質問に何らかの文脈を与えるために絵を描いてみましょう
ポール
- ヨーロッパ
- アメリカ大陸
- アジア
国
- アメリカ
- 中国
- イングランド
街
ニューヨーク市
サンフランシスコ
北京
これらは私が考えたほんの一例です。
もう 1 つの注記として、a を選択せずに選択することはできず、選択Country
せずに選択することPole
はできません(さらに絞り込むため)。City
Country
ユーザーが選択項目の横にあるチェックボックスをクリックするたびに、データを提供する URL を使用して AJAX $.get 呼び出しが実行されます。この URL は実際に Controller クラスにヒットしていると思います (ただし、この実装は重要ではありません)。
この Web アプリケーションは、データを選択する際にそれほど高速ではありません。データの集計には数秒かかります。ここで and を選択
Americas
したとしましょうUnited States
(それぞれが ajax 呼び出しを行い、データをフィルタリングします)。
選択してから代わりにSan Francisco
選択すると、両方のデータではなくデータのみが表示され、両方のチェックボックスがオンになります。New York City
San Francisco
$.get 呼び出しは非同期であるため、これは私には理にかなっています。最初の呼び出しは、競合状態に勝っています。
それにもかかわらず、これはバグとして報告されており、解決方法についての解決策が必要です。私は Javascript があまり得意ではないので、誰かアイデアがあるかどうか疑問に思っていました。
遅延オブジェクトをいじっていましたが、それらで動作させる方法を見つけられれば、できませんでした。
この ajax 呼び出しを行う前に、任意の ajax 呼び出しを終了するとよいでしょうか? このように、サンフランシスコの通話は終了しますが、両方の都市との通話は通過します。
誰か考えはありますか?
ありがとう!