首頁  >  文章  >  後端開發  >  Ajax php xmlHttp.responseXML返回值为null

Ajax php xmlHttp.responseXML返回值为null

WBOY
WBOY原創
2016-06-20 12:34:111226瀏覽

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 窗口中暴露无遗

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn