日期:2014-05-17  浏览次数:20826 次

为什么创建对象时失败
var xmlhttp;//声明浏览器初始化对象变量
function searchSuggest(){
try{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
xmhttp=new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}catch(e){}
}
}
//判断XMLHttpRequest对象是否成功创建
if(!xmlhttp){
alert("不能创建XMLHttpRequest对象实例");
return false;
}

------解决方案--------------------
调试的时候,先不要catch住,看看Exception信息是啥。

比较值得怀疑的是:被浏览器的安全控制给拦截了。如果懒得调试,就直接把目标URL设置为信任站点。
------解决方案--------------------
这句话发生时已经是最后一步了,意思是修改为:

function searchSuggest(){
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmhttp=new XMLHttpRequest();
}
出错时浏览器就会提示了。


不过基本上原因大多是安全设置的问题。