AJAX中,xhr.responseXML;获取不到任何数据

wallacefw 发布于 2013/08/23 16:20
阅读 1K+
收藏 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ajax_xml</title>
</head>

<body>
	<select id="provinceID">
		<option>选择省份</option>
		<option>广东省</option>
		<option>浙江省</option>
	</select>
	<hr>
	<select id="cityID">
		<option>选择城市</option>
	</select>


	<script type="text/javascript">
		document.getElementById("provinceID").onchange = function() {

						var provinceOption = this[this.selectedIndex].innerHTML;
			/* alert(provinceOption); */
						var xhr = createAJAX();
						var method = "post";
			var url = "/myday29/proviceServlet?time="+new Date().getTime();
			xhr.open(method,url,true);
			//----------------------------------------------------------------
			xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
			//----------------------------------------------------------------
			var content = "provinceOption="+provinceOption;
			xhr.send(content);
				xhr.onreadystatechange=function(){
				if(xhr.readyState==4){
					if(xhr.status==200){
						//获取AJAX引擎接收到的html文档
						//var xml = xhr.responseText;
						//alert(xml);
						//获取AJAX引擎接收到的xml文档
						var xmlDocument = xhr.responseXML;
						//通过dom的api解析xml文档
						var cityElementArray = xmlDocument.getElementsByTagName("city");
												var size = cityElementArray.length;
						alert(size);
													</script>
<script type="text/javascript">
		//创建AJAX引擎(简单设置,ie8可以用到)
		function createAJAX() {
			var xhr = null;
			try {
				xhr = new XMLHttpRequest();
				//alert("引用到了");
			} catch (e) {
				alert("你的浏览器已经不符合主流,请换主流浏览器");
			}
			return xhr;
		}
	</script>

以下是问题补充:

@wallacefw:问题已经解决。 (2013/08/23 17:03)
加载中
0
wallacefw
wallacefw

我的问题是,varxmlDocument = xhr.responseXML;这里获取不到任何数据,但这样写却可以var xml = xhr.responseText却可以打印出数据,究竟为什么呢?我已经哟刷新的了,但是 alert(size)还是出现获取数据长度为0的情况,而我检验过servlet哪里没有出现问题。所以希望高手们我哪里错了

返回顶部
顶部