DasNets: Ajax Funktion - Wichtig!

Beitrag lesen

Das ist mir alles klar und das weiß ich auch. Ich kann die Variable ja auch in einen DIV-Content schreiben
-------------------------------------------------
function ScriptUser(id) {
 url='/index.php?do=ajaxuser&id='+id;
 req=getAjax();
 req.onreadystatechange=function()
 {
  if(req.readyState==4&&req.status==200)
  {
   document.getElementByID('layer').innerHTML=req.responseText;
  }
 }
 req.open('GET', url , true);
 req.send( null );
}
-------------------------------------------------
und so funktioniert das auch!

Aber das erfüllt dann nicht den Zweck es soll nicht in irgendnem layer oder so rumliegen, sondern eben in der JavaScript-Variable.

Das hab ich damit gemacht indem ich "document.getElementByID('layer').innerHTML" durch die Variable "user" ersetzt habe.

Wenn ich nun aber versuche die Variable user mittels return in eine andere Funktion zu laden, also:
-------------------------------------------------
function ScriptUser(id) {
 url='/index.php?do=ajaxuser&id='+id;
 req=getAjax();
 req.onreadystatechange=function()
 {
  if(req.readyState==4&&req.status==200)
  {
   user=req.responseText;
  }
 }
 req.open('GET', url , true);
 req.send( null );
 return user;
}
function GetContents() {
   user1 = ScriptUser('1');
   user2 = ScriptUser('2');
   user3 = ScriptUser('3');
// Ausgabe der Variablen z.B. alert(user1+' '+user2+' '+user3);
}
-------------------------------------------------
dann sagt er mir, dass "user" undefiniert sei!
Ich denke, dass es daran liegt, dass die Variable "user" nicht aus der eventHandler-Funktion "req.onreadystatechange" rauskommt, denn wenn ich ein "alert(user)" direkt unter "user=req.responseText;" mache, dann wird mir die Variable im Alert ausgegeben, wenn das alert aber direkt über dem "req.open('GET', url , true);" steht, dann bringt er mir wieder, dass "user" undefiniert ist.