Показать сообщение отдельно
  #1 (permalink)  
Старый 20.07.2013, 09:34
Новичок на форуме
Отправить личное сообщение для Арсен Посмотреть профиль Найти все сообщения от Арсен
 
Регистрация: 20.07.2013
Сообщений: 2

Как построить объект из XML ?
У меня есть такой ajax запрос:
function Show_Description(id){
                if(selectItemID > 0){
                    var x = new XMLHttpRequest();
                    x.open("POST", "../getdescriptions.php", true);
                    x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    x.onreadystatechange = function (){
                        if(x.readyState == 4  && x.responseText != "false"){
                            var xml = x.responseXML;
                            var data = xml.getElementsByTagName("data");
                            alert(data[0].childNodes[0].value);
                        }
                    }
                    x.send("id=" + id);
                }
            }


Алертом у меня выводит "undefined", почему так происходит? Может я не правильно обращаюсь к дочерним элементам?


Если елаю так: alert(data[0].childNodes.lingth); то выводит "10"


Когда я через alert(x.responseText) проверял действительно ли приходит XML, то все успешно мне выдало.
Вот результат:
Код:
<?xml version="1.0" encoding="cp1251"?>
<data>
    <id>5</id>
    <article>text1</article>
    <price>text2</price>
    <properties>text3</properties>
    <description>text4</description>
    <img>text5</img>
    <img1></img1>
    <img2></img2>
    <category>text6</category>
    <datetime>2013/07/19 11:53:40</datetime>
</data>
Тоесть от сервера приходит адекватный XML.

Как мне из этого создать объект и что бы сним работать?


P.S. Может из-за того что сервер неправильно заголовки передает?

Вот что у меня на сервере:

В методе Get_Descriptions($id) просто через return возвращается формированный XML.

if(isset($_POST["id"])){
header("Content-Type: text/xml");
echo $K->Get_Descriptions($_POST["id"]);
}


Может я не там заголовки передаю?


Помогите пожалуйста...
Ответить с цитированием