Home  >  Article  >  Backend Development  >  Ajax php xmlHttp.responseXML返回值为null

Ajax php xmlHttp.responseXML返回值为null

WBOY
WBOYOriginal
2016-06-20 12:34:111225browse

php代码

<?php	header('Content-Type:text/xml');	echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';	echo'<response>';	$name=$_GET['name'];	$userName=array('WangWei','ZhouJianfei','MeiShibo','QuXinglin','WangYuming','LiaoGuihong','WangChenggao','ZhouQian');	if(in_array(strtoupper($name),$userName)){		echo 'Hello,master'.htmlentities($name).'!';	}else if(trim($name)==''){		echo 'Stranger,please tell me your name!';	}else{		echo htmlentities($name).',I don\'t know you!';		}		echo '</response>';?>

		var xmlHttp=createXmlHttpRequestObject();				//get xmlHttpRequest object		function createXmlHttpRequestObject(){			var xmlHttp;			if(window.ActiveXObject){				try{					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");					}					catch(e){						xmlHttp=false;						}				}else{					try{						xmlHttp=new XMLHttpRequest();												}						catch(e){							xmlHttp=false;							}												}				if(!xmlHttp){								alert("Error creating the XMLHttpRequest object!");								}else{									return xmlHttp;									}					}							function process(){			if(xmlHttp.readyState==4||xmlHttp.readyState==0){				name=encodeURIComponent(document.getElementById("myName").value);				xmlHttp.open("GET","quickstart.php?name="+name,true);								xmlHttp.onreadystatechange=handleServerResponse;				xmlHttp.send(null);													}else{					setTimeout('process()',1000);					}		}				function handleServerResponse(){			if(xmlHttp.readyState==4){				if(xmlHttp.status==200){					xmlResponse=xmlHttp.responseXML;					alert(xmlHttp.responseXML);					xmlDocumentElement=xmlResponse.documentElement;					helloMessage=xmlDocumentElement.firstChild.data;					document.getElementById('divMessage').innerHTML='<i>'+helloMessage+'</i>';					setTimeout('process()',1000);									}else{						alert('There was a problem accessing hte server:'+xmlHttp.statusText);						}				}			}



alert(xmlHttp.responseXML);返回值是null 哪里错了?
另外我用的阿里 免费虚拟主机 上面的php


回复讨论(解决方案)

alert(xmlHttp.responseXML)
这个写法是不负责任的
一切顺利的话,他是一个 DOMDocument 对象,用 alert 至多看到 [Object]
所以你应写作

xmlResponse = xmlHttp.responseXML;if(xmlResponse.xml == '') {  alert(xmlHttp.responseText);  return;}
这样无论是 XML 格式不对,还是 php 程序出现问题,都会在 alert 窗口中暴露无遗

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn