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

Ajax php xmlHttp.responseXML返回值为null

WBOY
發布: 2016-06-20 12:34:11
原創
1266 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板