我想基于XML Ajax响应动态更改页面内容。为了进行测试,我创建了一个静态PHP生成的XML文件,其中只有一个标签。如果标签包含字符串“ yes”,则它应显示“ 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";
    }

09-11 00:30