自己署名証明書を使用する安全なサーバーにAJAX呼び出しを行いたい。私のアプリが使用されている環境では、これは問題ありません - 私はCA証明書をユーザーに提供し、アプリケーションを使用する前にインストールしてもらうことができます。ただし、ユーザーが証明書をインストールする前にアプリを訪問しようとすることがあります。このような場合は、少なくともFirefox(問題の最も一般的なケース)では、アプリケーションが黙って失敗するため、エラーハンドラを起動せずに呼び出しが黙って死にかけているように見えます。 FWIWでは、ユーザーがサーバ上の実際のページを訪問すると、証明書の警告が表示されます。信頼できない(自己署名された)HTTPSへのAJAX呼び出しは暗黙的に失敗する
ハートビート/ pingリクエストを作成し、サーバーが時間内に応答するかどうかを確認するためのウォッチドッグタイマーを設定するなど、回避策をハックする可能性があります。私は前もって接続をテストできることを望んでいます。あなたが話したいサーバーがJavascriptの中から信頼できる証明書を持っていることを確認する "正しい"方法は何ですか?何か違いがあれば、JQuery経由でAJAXリクエストを行っています。
更新:ここに素晴らしいパンチラインがあります。それは、AJAXはまったく問題ではないということです。私は、それが自己署名証明書に関連していたという症状に基づいていると確信していましたが、AJAXエラーの不具合は憂慮していました。以下の答えにリンクされている仕様を考えてください。別のチームメンバーがそれを打ち明けた:JQueryが決してロードされなかったので、AJAXエラーハンドラは起動しなかった!私たちは、私たちのサイトの別のサブドメインからJQueryを、HTTPSでもホストしていました。ユーザーはourService.example.comでは例外を追加しましたが、js.example.comでは例外を追加しました。明らかに、信頼できないセキュリティ保護された接続で<script>
タグを指している場合、はも黙って失敗します。
{/ headdesk}
あなたのネットワーク接続が離れたときなど、あなたが見ている動作とまったく同じサーバーに接続できないという違いはありますか? – martona