今天发现一个很郁闷的问题,折腾了一整天,才发现是什么原因。
写出来供大家参考,以后大家碰到此类问题有个数。
问题如下:
有以下一段代表
function
Login(username,password,geturl)
{
var xmlhttp = null;
try{
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP")
}
catch(e){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", geturl, false, username, password);
xmlhttp.SetRequestHeader("Accept-Language","zh-cn");
xmlhttp.send();
}
{
var xmlhttp = null;
try{
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP")
}
catch(e){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", geturl, false, username, password);
xmlhttp.SetRequestHeader("Accept-Language","zh-cn");
xmlhttp.send();
}
目的是使用用户名密码,对相应路径的进行登录。
但是发现,在公司一台计算机上(后台简称pc1),执行到xmlhttp.open这句时无论如何都报错。而其它计算机又是对的。
更奇怪的的,pc1打开另一个站点的页面(同样包含以上代码),却又正常。
经过组件安装,安全设置……一系列测试,问题依然存在。
后来才发现,有问题的这个站点被加在pc1的受信任站点中,只要将站点url从pc1的受信任站点中移除,以上javascript代码就能正常运行。
到其它计算机上测试,结果都相同,就是把站点加入信息站点列表,上面的javascript代码执行至xmlhttp.open时就会出现异常,移除就正常。
有谁知道这是为什么吗?