2013-07-07 6 views
0

Я хочу динамически изменять содержимое страницы на основе XML-ответа Ajax. Для тестирования я создал статический PHP-файл XML с одним тегом. Если тег содержит строку «да», тогда он должен отображать «AVAIL», иначе отображать что-то еще. Статическое значение, установленное для тестирования, - «да», но сценарий по-прежнему отображается «Недоступен».Анализ простого XML - Javascript/Ajax

Каков правильный способ достичь этого?

У меня есть некоторые 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>"; 
?> 
+0

Действительно ли ваш php возвращает правильный результат? – Musa

ответ

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

Это не сработало для меня. Теперь мой код ничего не делает, он как-то сломан. Я обновил часть javascript моего вопроса. –

+0

@ Adelphia checkout http://jsfiddle.net/JrNwT/ – Musa

+0

Мой клиент еще не принял решение о размещении, поэтому пока я использую 000webhost для живого развития. Этот хост автоматически включает javascript на всех страницах, которые нарушают мой XML. –