2

AJAX で 2 つのドロップダウン メニューをロードするページがあります。次に、読み込みに 30 秒以上かかる 3 番目の AJAX を読み込みます。(遅い SQL クエリ)。

ユーザーが 2 つのドロップダウンから項目を選択すると、3 番目の遅い AJAX が再び起動され、結果が一覧表示されます。

すべてが最初のロードで正常に動作します。しかし、ページを更新したり、3 番目の ajax がまだロードされている間にユーザーが別のオプションを選択したりすると、3 番目の ajax がロードされるまでページがハングします。

ロードしようとしまし.abort()たが、それは役に立たないようです。ブラウザは、中止されたファイルがロードされるのを待ってから、ajax 1&2 および 3 をロードします。

中止を追加しましたonbeforeunloadが、ページの更新の問題は解決しません。

純粋な JavaScript と jQuery を使用してこれを試しましたが、同じ結果が得られます。

サーバーは IIS6 で、XML 出力は asp ページからのものです。

これを回避する方法はありますか?

4

1 に答える 1

0

jQuery を使用して Ajax リクエストを中止する

これは、ajax 呼び出しを中止するのに役立ちます。実際にabort()関数を呼び出しているajax呼び出しを確認してください。

余談ですが、システムで実行中の他のプロセスが原因でブラウザがハングしているかどうかを確認してください。なぜなら、起動されるすべての ajax リクエストは db クエリを開始し、それによってもハングした感じがする可能性があるからです。

于 2012-12-28T12:08:29.783 に答える