IE8中getElementsByTagName无法取得返回值
代码如下:
<script type="text/javascript">
/**XMLHttpRequest对象,用以获取服务端返回的XML序列*/
var XMLHttpReq = getXMLHttpRequest();
/**创建XMLHttpRequest对象*/
function getXMLHttpRequest()
{
if (window.XMLHttpRequest)
{
/**IE6以上版本和其它浏览器内置XMLHttpRequest对象*/
return new window.XMLHttpRequest;
}
else
{
try
{
/**IE6.0,IE5.5,...*/
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
catch(ex)
{
return null;
}
}
}
/**创建级联菜单函数:本函数被onchange调用*/
function showList()
{
clearSchoolList();
/**获得下拉框中的值*/
var country = document.getElementById("country").value;
var type = document.getElementById("type").value;
var nature = document.getElementById("nature").value;
sendRequest("http://localhost:8080/menu/servlet/Search?country="+country+"&type="+type+"&nature="+nature);
}
/**清空学校列表*/
function clearSchoolList()
{
var list = document.all.schoolList;
list.options.length=0;
list.add(new Option("---请选择---",""));
}
/**发送请求函数*/
function sendRequest(url)
{
if(XMLHttpReq!=null)
{
XMLHttpReq.open("GET", url, true);
/**指定响应函数*/
XMLHttpReq.onreadystatechange = processResponse;
/**发送请求*/
XMLHttpReq.send(null);
}
else
{
alert("浏览器不支持AJAX (XMLHTTP)!");
}
}
/**处理返回信息函数*/
function processResponse()
{ /**判断对象状态*/
if (XMLHttpReq.readyState == 4)
{
if (XMLHttpReq.status == 200)
{ /**信息已经成功返回,开始处理信息*/
updateList();
}
else
{ /**页面不正常*/
alert("您所请求的页面有异常。");
}
}
}
/**更新学校列表*/
function updateList()
{
/** 获得学校列表 */
var school = XMLHttpReq.responseXML.getElementsByTagName("school");
var list = document.all.schoolList;
for(var i=0; j=school.length, i<j; i++)
{
list.add(new Option(school[i].firstChild.data, school[i].firstChild.data),null);
}
}
在傲游浏览器中可取得值,是什么原因.该如何解决?