feddi: Problem mit Rückgabewert

Beitrag lesen

Hallo zusammen,

ich habe eine Verständnisfrage. Ich habe ein Skript, was bei einem Ereignis via AJAX Daten nachladen soll. Diese Daten hole ich mir über diese Funktion:

  
function getDataFromSQL(type)  
{  
 http_request = false;  
 if (window.XMLHttpRequest)  
 {  
  http_request = new XMLHttpRequest();  
  if (http_request.overrideMimeType)  
  {  
   http_request.overrideMimeType('text/xml');  
  }  
 }  
 else if (window.ActiveXObject)  
 {  
  try  
  {  
   http_request = new ActiveXObject("Msxml2.XMLHTTP");  
  }  
  catch (e)  
  {  
   try  
   {  
    http_request = new ActiveXObject("Microsoft.XMLHTTP");  
   }  
   catch (e) {}  
  }  
 }  
 if (!http_request)  
 {  
  alert('Bitte aktivieren Sie ActiveX in Ihrem Browser');  
  return false;  
 }  
 http_request.open('GET', 'getSQL.php?type=' + type, true);  
 http_request.onreadystatechange = function()  
 {  
  if (http_request.readyState == 4)  
  {  
   var answerText = http_request.responseXML;  
   return answerText;  
  }  
 };  
 http_request.send(null);  
}  

Diese Funktion wird von dieser Funktion aufgerufen:

  
function getKBInfo()  
{  
 var sqlAnswer = getDataFromSQL('KB');  
 return sqlAnswer;  
}  

Leider ist jedoch die Variable "sqlAnswer" immer "undefinied". Ich glaube zu verstehen warum, jedoch kann ich das Problem nicht lösen.

  
 http_request.onreadystatechange = function()  
 {  
  if (http_request.readyState == 4)  
  {  
   var answerText = http_request.responseXML;  
   return answerText;  
  }  
 };  

Dieser Teil soll ja die Antwort zurückliefern, wird aber nur bei onreadystatechange aufgerufen und liefert das Ergebnis an selbiges zurück oder? Damit liefert allerdings die Funktion "getDataFromSQL()" noch keinen Rückgabewert. Liege ich damit richtig? Wie kann ich das Problem lösen.

Ich bin dankbar für jede Hilfe.

Viele Grüße
Feddi