我创建了一个使用 JQuery 解析 XML 的 JavaScript 程序。下面是代码和示例 XML。运行它时,它在 IE 8 上运行良好。但是当我在 Chrome 或 FireFox 中测试时,$.parseXML 确实加载了 xml。我没有看到任何错误,它只是停止了。我已经发出警报,以查看它在哪里停止以确定问题。任何人都可以帮忙吗?我不明白为什么 jQuery 在 IE 8 而不是 chrome 或 Firefox 中工作。
XML 很简单
<?xml version="1.0" ?>
<userinfo>
<rc>Y</rc>
<un>George</un>
</userinfo>
或者
<?xml version="1.0" ?>
<userinfo>
<rc>N</rc>
<un></un>
</userinfo>
已使用 JQuery 创建了 XML 的 JavaScript 解析,但仅适用于 IE 8。
function userLookup( v_page, v_uid, v_pwd )
{
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)
{
alert("Browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange= function(){
if(xmlHttp.readyState==4)
{
var xml = xmlHttp.responseText;
var xmlDoc = $.parseXML( xml );
var $xml = $( xmlDoc );
var $returncode = $xml.find( "rc" );
if($returncode.text() == 'N')
{
alert("Invalid Userid/Password");
}
else if ($returncode.text() == 'Y')
{
document.getElementById('WelcomeMessage').innerHTML = "Welcome " + loginuser;
document.getElementById('dialogLogIn').style.display = 'none';
} else {
alert( $returncode.text() );
}
}
}
xmlHttp.open("GET",v_page+"?v_uid="+v_uid+"&v_pwd="+v_pwd,true);
xmlHttp.send(null);
}