PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

Ajax php xmlHttp.responseXML返回值为null

原创
2016-06-20 12:34:11 943浏览

php代码

';	echo'';	$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 '';?>

		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=''+helloMessage+'';					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 窗口中暴露无遗

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。