I want to form a string in my php server code as xml, and then send it to javascript so that ajax.responseXML can navigate through it and do things with the data. I haven't been able to find exactly what I need to accomplish this and have tried a few different methods. Here's the most recent thing I've tried.
<?php
header("Content-type: text/xml");
$xmlstring = "<?xml version'1.0' encoding='UTF-8'>";
$xmlstring = $xmlstring . "<book name='$name' author='$author'>";
foreach($rankings as $entry)
{
$xmlstring = $xmlstring . "<rank>$entry</rank>";
}
echo $xmlstring;
?>
I know the data is getting there because if I echo it as a string and open it directly, the numbers I need are getting printed. I'm using Ajax.Request to open the php file with certain parameters, and when it reaches the onSuccess function, ajax.responseXML is null. This is my first time dealing with xml so I could be doing something stupid.
function that makes the call:
function findRankings(author, name)
{
new Ajax.Request("server_code.php",
{
method: "get",
paramters: {"type": "rank", "name": name, "author": author},
onSuccess: makeGraph,
onFailure: ajaxFailed
});
}
function makeGraph(ajax)
{
alert(ajax.responseXML); // testing that it made it
.....// do stuff with the response
}
EDIT: I added the header and made it echo just the string. I also added the ajax functions. I keep getting null though. :(
header('Content-Type: text/xml');Not sure if this will help ajax.responseXML recognize it.