У меня есть такой 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"]);
}
Может я не там заголовки передаю?
Помогите пожалуйста...