buenas estoy empeando a utilizar ajax para mis aplicaciones para ello estoy haciendo un tutorial y me iba de maravila hice las funciones bien cuando solo leia el texto con la funcion responseText me daba perfecto pero cuando empeze a trabajar con response XML me da un error y me dice que no puede leer respuesta cual puede ser el error de antemanos agradesco su ayuda dejo codigos
Código Javascript
:
Ver originalfunction handleRequestStateChange()
{
myDiv=document.getElementById("myDivElement");
if(xmlHttp.readyState==4)
{
//continua solo si se completo la conexion correctamentes
if(xmlHttp.status==200)
{
try
{
handleServerResponse();
}
catch(e)
{
alert("Error al leer respuesta");
}
}
else
{
alert("ha ocurrido un problema al recibir los datos"+xmlHttp.statusText);
}
}
}
function handleServerResponse()
{
myDiv=document.getElementById("myDivElement");
var xmlResponse=xmlHttp.responseXML;
if(!xmlResponse || !xmlResponse.documentElement)
{
throw("Estructura XML no valida"+xmlHttp.responseText);
}
var rootNodeName=xmlResponse.documentElement.nodeName;
if (rootNodeName=="parsererror")
{
throw("invalido XML structure");
}
//obtener el elememto del documento XML
xmlRoot=xmlResponse.documentElement;
titleArray=xmlRoot.getElementByTagName("title");
isbnArray=xmlRoot.getElementByTagName("isbn");
//generar htlm
for (var i=0;i<titleArray.length;i++)
{
html+=titleArray.item(i).fistChild.data+", "+isbnArray.item(i).fistChild.data+"<br>";
}
myDiv.innerHTML=html;
}
Código PHP:
<?php
//generr salida como xml
header('Content-Type:text/xml');
$dom=new DOMDocument();
$response=$dom->createElement('response');
$dom->appendChild($response);
//crear el elemento books
$books=$dom->createElement('books');
$response->appendChild($books);
//crear elemento title
$title=$dom->createElement('title');
$titleText=$dom->createTextNode("Building Repinsive web aplication with ajax");
$title->appendChild($titleText);
//creamos elemento isbn
$isbn=$dom->createElement('isbn');
$isbnTetx=$dom->createTextNode('1-90481-82-5');
$isbn->appendChild($isbnTetx);
//creamos el elemento book
$book=$dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);
//asociar book como hijo en books
$books->appendChild($book);
//contruimos estructura xml
$xmlString=$dom->saveXML();
//mostrar string
echo $xmlString;
?>