Когда я пытаюсь отправить HTTP-запрос GET через XMLHttpRequest, он работает по незащищенному HTTP.
Но при отправке через HTTPS разные браузеры давали разные результаты:
В Firefox 3.0.2:
- Запрос GET не достигает веб-сервера.
В IE 7:
- Запрос GET достиг веб-сервера.
Это как-то связано с ужесточением Firefox 3 ненадежных сертификатов?
Есть ли способ обойти это?
Я уже добавил URL-адрес в качестве исключения в диспетчере сертификатов Firefox.
Консоль ошибок не сообщает об ошибке.
Я добавил try-catch вокруг openH) и отправки XMLHttpRequest. Исключение не выбрасывается.
Использование как абсолютного, так и относительного пути 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;
}
Спасибо,
Кеннет