Ajax POSTリクエストは2秒から30分以上かかることがあります。投稿リクエストはボタンをクリックした結果として発生します
リクエストの所要時間が1〜2分未満の場合、レスポンスが返され、すべてが正常に機能します。ただし、リクエストに2分以上かかる場合は、「ネットワークエラー:XMLHttpRequest:ネットワークエラー0x2eff、エラー00002effにより操作を完了できませんでした」が返されます。
もちろん、FirefoxとChromeで問題なく動作します。
アプリケーションは、SSLが有効になっているJBossサーバーにデプロイされます。ここでのアーキテクチャは、リクエストを2つのJbossサーバーにルーティングするロードバランサーがあることです。
インターネットエクスプローラ
バージョン:11.0.9600.180971C更新:11.0.25
私は次のことを試しましたが、無駄です
1)Ajaxキャッシュをfalseに設定-動作しませんでした
2) https://support.Microsoft.com/en-us/kb/813827 に従ってレジストリ設定を変更しました-動作しませんでした。ここで混乱が生じます。 IEのことではありませんが、同時にこれはchromeおよびffで動作するため、サーバーのことでもありません
3)ajaxタイムアウトを0に設定-動作しませんでした4)$( '#mdlSgn')。click(function()の後にe.preventDefaultが追加されました{ jQuery Ajaxリクエストは送信中
$('#mdlSgn').click(function() {
$('#cnfdsgl').modal('hide');
$.ajax({
url: ajaxUrl,
type: "POST",
data: JSON.stringify(input),
contentType: "application/json; charset=UTF-8",
dataType: "json",
success: function(data) {
/// some logic
},
error : function(jqXhr, textStatus, errorThrown) {
/// some logic
}
});
//some other logic
});
2秒から30分以上かかることがあります
これは、大量のデータを転送するためだと思います。
20GB以上のビデオファイルを処理し、数時間続く可能性のある大きなファイルアップローダーを作成しています。
私の経験では、単一のajaxリクエストで大きなデータをアップロードすると、奇妙なブラウザクラッシュが発生する可能性があります(たとえば、アップロードテストの約20%でmy Chromeブラウザがクラッシュします)。
私が見つけた最も信頼できる方法は、データを1MBのチャンクに分割し、別々のajaxリクエストによってサーバーに順次送信することです。
この問題の原因を探すために数日を費やしています!
これらのすべてを使用した場合にのみ、この問題が発生しました。
どうやら、これはWindows 10バージョン1803(2018年4月)で解決されたHTTPスタックのWindows 10のバグです。そのため、通常、この問題はWindowsの自動更新を使用している人/会社にとっては時間の経過とともに消えます。 Windows 10バージョンのWorldWideを使用
これをWindows 10の古いバージョンと新しいバージョンでテストしましたが、実際に解決されています。
一時的な解決策は次のとおりです。
私の場合、サーバーから返されたカスタム応答コード(3020)でした。 200に切り替え、SPAクライアントロジックを変更して、問題を解決しました。