当我尝试通过XMLHttpRequest发送HTTP GET请求时,它在非安全HTTP上工作。如何通过Firefox上的HTTPS使XMLHttpRequest工作?
但是,当通过HTTPS发送,不同的浏览器给了不同的结果:
在Firefox 3.0.2: - GET请求没有到达Web服务器。
在IE 7上: - GET请求到达Web服务器。
这是否与Firefox 3对不受信任的证书越来越严格有关? 有没有办法解决这个问题?
我已经将该URL作为Firefox的证书管理器中的例外添加。 错误控制台不报告任何错误。 我已经添加了一个围绕XMLHttpRequest的open()并发送的try-catch。没有例外被抛出。
使用绝对和相对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;
}
感谢, 肯尼斯
我已经更新了这个问题。 – ksuralta 2008-09-26 06:23:51