У меня есть PHP-скрипт, который, похоже, производит корректный вывод XML, и я пытаюсь вставить его в браузер с помощью вызова ajax XMLHttpRequest.
После выполнения вызова ajax я вижу в firebug, что запрос был успешным, и xml кажется действительным, но когда я пытаюсь поместить ответ в переменную, я получаю сообщение об ошибке, говорящее, что ответ нулевой.
Вот код PHP:
<?php
$q=$_GET["q"];
$con = mysql_connect('address.com', 'dbnme', 'password');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("sql01_5789willgil", $con);
$sql="SELECT * FROM place";
$result = mysql_query($sql);
$xmlResponse = "<?xml version='1.0' encoding='ISO-8859-1'?>\n";
$xmlResponse .= "<placeList>\n";
while($row = mysql_fetch_array($result))
{
$xmlResponse .= "<place>\n";
$xmlResponse .= "<title>". $row['title'] . "</title>\n";
$xmlResponse .= "<description>" . $row['description'] ."</description>\n";
$xmlResponse .= "<latitude>" . $row['latitude'] ."</latitude>\n";
$xmlResponse .= "<longitude>" . $row['longitude'] ."</longitude>\n";
$xmlResponse .= "<image>" . $row['image'] ."</image>\n";
$xmlResponse .= "</place>\n";
}
echo $xmlResponse;
mysql_close($con);
?>
И обидный JavaScript:
//Pull in the xml data for the bubbles
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
xmlDoc=xmlhttp.responseXML; //pull the xml into the DOM
var x = xmlDoc.getElementsByTagName("place"); //return the contents of the xml file (places) to an array called x
setupMap();
}
}
xmlhttp.open("GET","getPlaces.php",true);
xmlhttp.send();
Большое спасибо за любую помощь!