duannao8450 2013-07-07 23:25
浏览 55
已采纳

解析简单的XML - Javascript / Ajax

I want to dynamically change page content based on XML Ajax response. For testing I have created a static PHP generated XML file with only one tag. If the tag contains the string "yes" then it should display "AVAIL" otherwise display something else. The static value set for testing is "yes" but the script still displays "Not Avail".

What is the correct way to accomplish this?

I have some AJAX here..

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 + "'";
    }


}

}

And the domain_checker.php file looks like this..

<?php
Header('Content-type: text/xml');
echo "<?xml version='1.0' encoding='UTF-8'?>
<domain>
  <avail>yes</avail>
</domain>";
?>
  • 写回答

1条回答 默认 最新

  • dqnek0079 2013-07-07 23:33
    关注

    avail is an xml node, what you want is the text inside the node to test against

        avail = response.getElementsByTagName("avail")[0];
        if(avail.childNodes[0].nodeValue == "yes"){
            document.getElementById("dstat").innerHTML = "AVAIL";
        }else{
            document.getElementById("dstat").innerHTML = "NOT AVAIL";
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误