Problem mit Ajax Dateicontent lesen

multimolti

Erfahrenes Mitglied
Hallo!

Ich hatte mir erst diese Funktion hier gebastelt:
Javascript:
function getinformation(requestfile)
{
	new Ajax.Request("sys/site." + requestfile + ".php", { method:"get",
    	onSuccess: function(req)
    	{
    		$('MainWindow').innerHTML = req.responseText;
    	},
    	onFailure:
    		$('MainWindow').innerHTML = "Ajax konnte die gewünschte Datei "+ requestfile + ".php nicht finden!"
    })
}

Die ging prima, wollte die aber noch mal aufsplitten, damit ich den Ajax.Request() universaler benutzen kann. Habe also diese hier gemacht:
Javascript:
function includeFile(requestfile)
{
	var fileContent;
	new Ajax.Request(requestfile, { method:"get",
    	onSuccess: function(req)
    	{
    		fileContent = req.responseText;
    	},
    	onFailure:
    		fileContent = "Ajax konnte die gewünschte Datei " + requestfile + " nicht finden!"
    })
    return fileContent;
}
Aber da wird immer die onFailure-Nachricht ausgegeben! Obwohl die Datei eindeutig existiert, wenn ich z.B. "sys/site.uebersicht.php" übergebe, kommt eben die Fehlermeldung, aber wenn ich in den Browser hinten das gleiche anhänge, sehe ich die Datei!

Was kann ich falsch gemacht haben?
 
ja kann ich natürlich machen, aber der Sinn meiner Funktion ist doch, dass ich sie universal überall einsetzen kann!
Dann habe ich eine 2. Funktion, der wird "uebersicht" übergeben, und die ruft dann die andere mit includeFile("sys/site.uebersicht.php"); auf.

Darum mache ich das doch, und es kann nicht sein, das es nicht möglich ist!
 
Habe die Lösung, musste einfach an das Objekt, dass an Ajax.Request übergeben wird, ein asynchronous:false anhängen. Bisher hatte die Funktion die Datei abgerufen, aber war schon vorbei, bevor die Datei hier angekommen ist, daher kam immer der Fehler. Jetzt wartet die Funktion, bis sie den Dateicontent hat, schreibt den dann in die Variable und gibt das Ergebnis aus!
 

Neue Beiträge

Zurück