実際、DB からデータセットを取得していますが、時間がかかります (>1 分)。
そのため、ajax を使用して非同期に実行し、データセットが結果を返したかどうかを確認すると同時に、待機中のページを表示します。
ただし、返された結果を待つのではなく、ユーザーが他のページに移動したい場合は、それを行うためのヒントを教えてくれる人はいますか?
実際、DB からデータセットを取得していますが、時間がかかります (>1 分)。
そのため、ajax を使用して非同期に実行し、データセットが結果を返したかどうかを確認すると同時に、待機中のページを表示します。
ただし、返された結果を待つのではなく、ユーザーが他のページに移動したい場合は、それを行うためのヒントを教えてくれる人はいますか?
まず、データベースからクエリを最適化しようとします。1分を超えて実行されているクエリは、途方もなく巨大であるか(回避するためにページ付けを実装できます)、テーブルのインデックス作成も最適化する必要があります。
それでも十分な応答時間が得られない場合は、次の2つの方法で問題を解決できます。
ユーザーがこの長時間実行されるクエリを実行したい場合は、ポップアップウィンドウで実行してください。これにより、ユーザーはメインのWebアプリでナビゲーションを続行できます。
ページを取得して、iframeに表示し始めます。次に、ユーザーが他のページ(子フレームにロードされている)をナビゲートしているときに、親フレームでリクエストを行うことができます。このシナリオでは親フレームがリロードされないため、ajaxリクエストは親フレームで中断されることなく完了することができます。
このシナリオで使用しているスクリプトとコードが何であれ、役に立ちません! データベース モデルをより適切に最適化します。
リクエストを送信すると、ローダーの実行中にリクエストを停止したりナビゲートしたりすることはできません。for Asynchronous data Processing Loader (待機ページ) は必要ありません。
この希望を試してみてください。