我想根据XMLAjax响应动态更改页面内容。为了进行测试,我创建了一个只有一个标记的静态PHP生成的XML文件。如果标记包含字符串"yes",则应显示"AVAIL",否则应显示其他内容。为测试设置的静态值为"yes",但脚本仍然显示"Not Avail"。
实现这一目标的正确方法是什么?
我这里有一些AJAX。。
xmlhttpp.onreadystatechange=function(){
if(xmlhttpp.readyState==4 && xmlhttpp.status==200){
var response = xmlhttpp.responseXML;
var avail = response.getElementsByTagName("avail")[0];
if(avail.childNodes[0].nodeValue == "yes"){
document.getElementById("dstat").innerHTML = "AVAIL";
}else{
document.getElementById("dstat").innerHTML = "NOT AVAIL '" + avail + "'";
}
}
}
domain_checker.php
文件如下所示。。
<?php
Header('Content-type: text/xml');
echo "<?xml version='1.0' encoding='UTF-8'?>
<domain>
<avail>yes</avail>
</domain>";
?>
avail
是一个xml节点,您需要的是节点内的文本以针对进行测试
avail = response.getElementsByTagName("avail")[0];
if(avail.childNodes[0].nodeValue == "yes"){
document.getElementById("dstat").innerHTML = "AVAIL";
}else{
document.getElementById("dstat").innerHTML = "NOT AVAIL";
}