我想基于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";
}