0

我想根据 XML Ajax 响应动态更改页面内容。为了测试,我创建了一个只有一个标签的静态 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>";
?>
4

1 回答 1

2

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";
    }
于 2013-07-07T23:33:15.897 回答