Thomas Schenkeli: Datenkontrolle anhand eines GET-Requests

Beitrag lesen

hi,

Asynchron/synchron steuerst du über den dritten Parameter der open-Methode.
Und wenn du synchron arbeitest, benutzt du keine Handlerfunktion mehr für die Reaktion auf's Ergebnis, sondern notierst den entsprechenden Code einfach nach dem Absenden des Requests.

Danke, genau damit ging es, nun wird das Script erst fortgeführt, wenn die Response ankommt.

Ein Problem stellt sich mir aber noch in den Weg: ich schaffe es nicht die Funktion zu definieren, die ausgeführt werden soll, sobald die Response da ist.

Hier mein aktueller Source-Code:

function checkUniqueDEE()
{
  //empty the http-request object
  http_request = false;
  if (window.XMLHttpRequest) // Mozilla, Safari, ...
  {
    http_request = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) // IE
  {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
  }

http_request.onreadystatechange =  function()
  {
    if (http_request.readyState == 4)
    {
      if (http_request.status == 200)
      {
        alert(http_request.responseText); //wird nicht ausgegeben
      }
      else
      {
        alert('Bei dem Request ist ein Problem aufgetreten.');
      }
    }
  };

//define URL
   var myUrl = '<xsl:value-of select="$webapp" /><xsl:value-of select="$servlet" /><xsl:value-of disable-output-escaping="yes" select="$request_checkUniqueDEE" />;

//Specify which Request and which URL to use and if the Script should wait for the response to be available
  http_request.open('GET', myUrl, false);
  //This is a GET-Request, do not specify any POST-Parameters
  http_request.send(null);

alert(http_request.responseText); //Wird ausgegeben

return true;
}

Die onreadystatechange-Funktion wird einfach nicht ausgeführt, auch wenn ich eine weitere Javascript-Funktion definere die ausgeführt werden soll:

http_request.onreadystatechange =  processAjaxResponse;

Es tut sich einfach nicht?

Jemand eine Idee warum?

gruß,
wahsaga

lg
Thomas