Hej
Jeg har ikke arbejdet med AJAX før, og det fik pludselig min interesse. Jeg har arbejdet med XML i Delphi før, men det er ved at være lang tid siden, så jeg er lidt rusten.
Jeg har prøvet at lave noget ud fra et eksempel i en bog, men det virker ikke rigtigt ("xmlDoc has no properties", i Firefox).
Min kode består af to filer:
html-siden med js:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var xmlHttp;
var requestType = "";
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function startRequest()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", "gallerylist.php", true);
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
listGalleries();
}
else
alert("fejl");
}
}
function listGalleries()
{
var xmlDoc = xmlHttp.responseXML;
var galleries = xmlDoc.getElementsByTagName("gallery");
var gname = "";
for (var i = 0; i < galleries.length; i++)
{
gallery = galleries[i];
gname = gallery.getElementsByTagName("name")[0].firstChild.nodeValue;
alert(gname);
}
}
</script>
</head>
<body>
<form action="#">
<input type="button" value="Klik"
onclick="startRequest();"/>
</form>
</body>
</html>
xml/php-filen med data:
<?php
echo "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>";
?>
<galleries>
<?php
$link = mysql_connect("localhost", "root", "")
or die("Kunne ikke forbinde : " . mysql_error());
mysql_select_db("mysql") or die("kunne ikke vælge databasen");
$query = mysql_query("SELECT * FROM galleries ORDER BY orderby");
if (mysql_num_rows($query) > 0)
{
while ($r = mysql_fetch_array($query))
{
echo "<gallery>";
echo "<name>".$r["name"]."</name>";
echo "</gallery>";
}
}
?>
</galleries>
Jeg vil bare gerne have min alert til at vise alle gallerierne.. så jeg selv kan gøre med det hvad jeg vil bagefter.
Hilsen Mark
Indlæg senest redigeret d. 26.05.2007 13:07 af Bruger #2973