ich bin gerade dabei, ein dms a la ajax zu bauen. als php-profi und js-noop.
ich frage die php-datei unter angabe des aktuellen verzeichnisses, welche verzeichnisse dort liegen und bekomme diese information als json zurück.
das js soll nun die visualisierung übernehmen und bei mausklick eine weitere abfrage starten und das jeweilige unterverzeichnis anzeigen (usw.).
funktioniert soweit, aber nach dem 2. aufruf bekomme ich diese ominöse fehlermeldung a la microsoft: objekt erwartet (zeile: 1, zeichen: 1, code: 0).
hier der js-code (php-code is 1. echt simple und wird glaub ich nicht gebraucht):
<html>
<head>
<title>Zeichne Verzeichnisliste</title>
<script type="text/javascript">
var directorylist;
var req = null;
var aktdir;
function writedirlist(){
switch(req.readyState) {
case 4:
if(req.status!=200) { //wenn http-req nicht erfolgreich
alert("Fehler:"+req.status);
}else{
var directorylist = eval('(' + req.responseText + ')'); //JSON -> directorylist
document.write("<div id='ordner' style='position: absolute; left: 10px; width: 150px; height: 80%; border: dashed 1px;'>");
for (var i=0; i<directorylist.dirlist.length; i++)
{ aktdir = directorylist.dirlist[i];
document.write("<div id='ordner' style='background-color:#FF0000;'><a href = javascript:getdirlist('" + aktdir + "');>" + aktdir + "</a></div>");
}
document.write("<div id='ordner' style='background-color:#FF0000;'>" + directorylist.aktdir + "</div>");
document.write("<div id='ordner' style='background-color:#FF0000;'><a id='test' href = javascript:getdirlist('" + aktdir + "');>" + aktdir + "</a></div>");
//test-element
// document.getElementById("test").href = "javascript:getdirlist('" + directorylist.aktdir + "')";
// document.getElementById("test").firstChild.nodeValue = directorylist.aktdir;
document.write("</div>"); document.write("<div id='ordner' style='position: absolute; left: 10px; width: 150px; height: 80%; border: dashed 1px;'>");
//zeichnet er?
alert("zeichnen");
}
break;
default:
return false;
break;
}
}
function getdirlist(aktdir){
//erstellen des requests
try{
req = new XMLHttpRequest();
}
catch (e){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed){
req = null;
}
}
}
if (req == null)
alert("Error creating request object!");
//anfrage erstellen (GET, url ist localhost,
//request ist asynchron
var url = 'http://www.soulysworld.net/ajax/list_directorys1.php?aktdir=' + aktdir;
req.open("GET", url, true);
//Beim abschliessen des request wird diese Funktion ausgeführt
req.onreadystatechange = writedirlist;
req.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
req.send(null);
}
</script>
</head>
<body>
<script type="text/javascript">
directorylist = "root";
getdirlist(directorylist);
</script>
</body>
</html>
bitte bitte, ich häng scho den 3. tag an diesem fehler und komm net weiter ... eh klar als js-noop ^^