Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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"]);
}


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


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

Спасибо большое, разобрался,

var data = xml.getElementsByTagName("data")[0].childNodes;
							alert(data[0].textContent);
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2013, 15:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

xml.documentElement.childNodes[0].texContent
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из строки содержащей namespace получить ссылку на объект? wwwboy Общие вопросы Javascript 2 07.12.2011 09:22
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33
как работать с XML в Javascript KOLANICH Общие вопросы Javascript 6 25.06.2010 17:42
Как получить объект getElementById через this Polkan Events/DOM/Window 7 24.06.2010 18:00
bind: как передать функции указатель на объект trial jQuery 4 25.05.2010 01:35