3

私のWebサーバーは、特定のHTTP要求に応じてIPを変更できます。重要なのは、ブラウザが同期を使用$.ajax()してこのリクエストを投稿することです。サーバーのIPが変更されたため、タイムアウトになるとリクエストは中止されます(firebug netタブの「Aborted」)。ただし、投稿は同期しているため、ブラウザ(この場合はFF)は無限にハングします。私の知る限り、同期AJAXをタイムアウトしたりプログラムで中止したりすることはできません。

多くの実際的な理由から、リクエストを非同期に変更することはできません。この状況に対処する方法はありますか?ありがとう

4

1 に答える 1

1

利用できるオプションがいくつかあります。

サーバー側の動作を変更する

サーバー上のWebアプリケーションを変更して、IPアドレスを変更する前にクライアントへの応答を完了します。次に、呼び出しが成功したかどうかに関係なく、アプリケーションは応答を受け取ります。

非同期AJAX呼び出しを使用する

自明。あなたはこれをしたくありません、しかしあなたは本当にそうすべきです、そしてあなたが今抱えている問題のためだけではありません。アプリケーションがこれを機能させるために本当に大幅な変更を必要とする場合は、おそらく他の設計上の問題もあり、再検討することができます。

とにかく現在ファイアアンドフォーゲット方式を使用しているので、なぜこれが問題になるのか私にはよくわかりません。

于 2012-11-12T22:41:14.230 に答える