我从下拉框中选择一个选项,调用onchange功能 功能 的 retrieveurl(URL,formbean的);代码编写。
它调用用javascript编写的ajax,它无法检测我的浏览器版本,即IE6.0.2900 ....
以下代码我用过......
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch {
alert('second catch');
}
}
我调试它来到第二个捕获警报
任何人都可以帮我吗?
答案 0 :(得分:1)
在第二个catch语句中错过了catch * (e) *
try
{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert('second catch');
}
}
<强>更新强> 我还建议使用所有版本的MS XML HTTP对象
function getHTTPRequest ()
{
var xmlHttp;
try
{
// Firefox, Chrome, Opera, IE 8
xmlHttp = new XMLHttpRequest();
}
catch (err)
{
// IE and possible XML HTTP ProIDs
var XmlHttpVersions = new Array(
"Msxml2.XMLHTTP.7.0",
"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"
);
for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
{
try
{
xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch(err) {} //Ignore
}
}
if(!xmlHttp)
{
alert("No HttpRequest supported");
}
else
{
return xmlHttp;
}
}
var xhr = getHTTPRequest();
答案 1 :(得分:1)
据我所知,这应该适用于IE6。但你错过了第二次捕获中的(e)参数,可能应该存在。也许这搞砸了?对不起,我无法检查,没有IE6。