为什么判断if(XMLHttpReq.status == 200)的时候alert(XMLHttpReq.status)是0我去掉了以上的这句话,通过alert(xmlDoc.getElementsByTagName("states").length);得到结果是0
就是说没获取到XML的内容,请问这是怎么回事啊?以下是代码
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<script language="javascript">
var XMLHttpReq;
var requestType = "";
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
XMLHttpReq = new XMLHttpRequest();
}
}
function sendRequest(requestedList)
{
requestType = requestedList;
createXMLHttpRequest();
XMLHttpReq.open("GET", "usa.xml", true);
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.send(null);
}
function processResponse()
{
if (XMLHttpReq.readyState == 4)
{
if(XMLHttpReq.status == 200)
{
if(requestType == "north")
{
listNorthStates();
}
else if(requestType == "all")
{
listAllStates();
}
}
}
}
function listNorthStates()
{
var xmlDoc = XMLHttpReq.responseXML;
alert(xmlDoc);
var northNode = xmlDoc.getElementsByTagName("north")[0];
var out = "Northern States";
var northStates = northNode.getElementsByTagName("state");
outputList("Northern States", northStates);
}
function listAllStates()
{
var xmlDoc = XMLHttpReq.responseXML;
alert(xmlDoc.getElementsByTagName("states").length);
var allStates = xmlDoc.getElementsByTagName("states");
outputList("All States in Document", allStates);
}
function outputList(title, states)
{
var out = title;
var currentState = null;
for(var i = 0; i<states.length; i++)
{
currentState = states[i];
out = out + "\n-" + currentState.childNodes[0].nodeValue;
}
alert(out);
}
</script>
</head>
<body>
<form action="*">
<input type="button" value="all" onclick="sendRequest('all')">
<input type="button" value="north" onclick="sendRequest('north');">
</form>
</body>
</html>usa.xml<?xml version="1.0" encoding="UTF-8"?>
<states>
<north>
<state>Hinnesota</state>
<state>Ioma</state>
<state>North Dakota</state>
</north>
<sourth>
<state>Texas</state>
<state>Oklahoma</state>
<state>Louisiana</state>
</sourth>
<east>
<state>New York</state>
<state>North Carolina</state>
<state>Massachusetts</state>
</east>
<west>
<state>California</state>
<state>Oregon</state>
<state>Nevada</state>
</west>
</states>
就是说没获取到XML的内容,请问这是怎么回事啊?以下是代码
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<script language="javascript">
var XMLHttpReq;
var requestType = "";
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
XMLHttpReq = new XMLHttpRequest();
}
}
function sendRequest(requestedList)
{
requestType = requestedList;
createXMLHttpRequest();
XMLHttpReq.open("GET", "usa.xml", true);
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.send(null);
}
function processResponse()
{
if (XMLHttpReq.readyState == 4)
{
if(XMLHttpReq.status == 200)
{
if(requestType == "north")
{
listNorthStates();
}
else if(requestType == "all")
{
listAllStates();
}
}
}
}
function listNorthStates()
{
var xmlDoc = XMLHttpReq.responseXML;
alert(xmlDoc);
var northNode = xmlDoc.getElementsByTagName("north")[0];
var out = "Northern States";
var northStates = northNode.getElementsByTagName("state");
outputList("Northern States", northStates);
}
function listAllStates()
{
var xmlDoc = XMLHttpReq.responseXML;
alert(xmlDoc.getElementsByTagName("states").length);
var allStates = xmlDoc.getElementsByTagName("states");
outputList("All States in Document", allStates);
}
function outputList(title, states)
{
var out = title;
var currentState = null;
for(var i = 0; i<states.length; i++)
{
currentState = states[i];
out = out + "\n-" + currentState.childNodes[0].nodeValue;
}
alert(out);
}
</script>
</head>
<body>
<form action="*">
<input type="button" value="all" onclick="sendRequest('all')">
<input type="button" value="north" onclick="sendRequest('north');">
</form>
</body>
</html>usa.xml<?xml version="1.0" encoding="UTF-8"?>
<states>
<north>
<state>Hinnesota</state>
<state>Ioma</state>
<state>North Dakota</state>
</north>
<sourth>
<state>Texas</state>
<state>Oklahoma</state>
<state>Louisiana</state>
</sourth>
<east>
<state>New York</state>
<state>North Carolina</state>
<state>Massachusetts</state>
</east>
<west>
<state>California</state>
<state>Oregon</state>
<state>Nevada</state>
</west>
</states>
解决方案 »
- 新人求助,关于SSH开发论坛的问题~
- [在线等]MyEclipse下Tomcat6启动时 出现一个readLine的窗口。。。。。。
- 帮一个朋友做个项目,也没有预付款,也没有签协议,我该怎么办啊
- 切屏幕怎么控制?
- 菜鸟提问:如何将数据库中的值赋给自定义标签属性的值?
- [求助]继续求助,关于分页的诚心求教!
- 请问我有一张图片,是个饼图,放在页面上,能否测到该图的圆心坐标和半径?
- 请问在jsp总怎样捕捉所有得错误,并把页面跳转到某一个页面??
- jsp中的中文问题--急急急
- 请问如何确定在线人数(在线等待答案)
- 关于用户并发访问、注册等问题??????在线等!!!
- 在线求救啊! html只读属性问题<input type="text" name="User_Name2" id="User_Name2" size="15" readonly="true">
我是用ie6,是不是你浏览器版本的问题?
我返回的也是0
郁闷
----------------------------------------------------
alert(xmlDoc.getElementsByTagName("states").length)直接打开运行 ie里为空值,ff里正常值。
部署到iis后,ie正常值。