XMLHttpRequest を介して HTTP GET 要求を送信しようとすると、安全でない HTTP で動作します。
しかし、HTTPS 経由で送信すると、ブラウザーが異なれば結果も異なります。
Firefox 3.0.2 の場合: - GET 要求が Web サーバーに到達しません。
IE 7 の場合: - GET 要求が Web サーバーに到達しました。
これは、Firefox 3 が信頼されていない証明書に対してより厳格になったことと関係がありますか? これを回避する方法はありますか?
Firefox の Certificate Manager で例外として URL を既に追加しました。エラー コンソールはエラーを報告しません。XMLHttpRequest の open() と send の周りに try-catch を追加しました。例外はスローされません。
絶対 URL パスと相対 URL パスの両方を使用しても機能しません。
コード スニペットは次のとおりです。
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
return false;
}
}
}
// we won't be handling any HTTP response
xmlHttp.onreadystatechange=function()
{
// do nothing..
}
// send HTTP GET request
try
{
xmlHttp.open("GET", "/[relative path to request]", true);
xmlHttp.send(null);
}
catch (e)
{
alert('Error sending HTTP GET request!');
return false;
}
ありがとう、ケネス