JavaScript Ajax Beispiel 3: HEAD-Request - Verfügbarkeit eines Web-Service testen

Das auf dieser Seite vorgestellte Ajax-Beispiel nutzt die Request-Methode HEAD, um Informationen darüber zu erlangen, ob ein Webservice grundsätzlich verfügbar und damit bereit ist Anfragen entgegen zu nehmen. Einige Funktionen im Beispiel auf dieser Seite gleichen dabei denen aus den vorherigen beiden Beispielen.

An einen HEAD-Request müssen keine Zeichenketten mit Parametern übergeben werden, da es nur um die Einsatzbereitschaft einer Internet-Anwendung geht. Deshalb werden der Funktion sendHeadRequest keine Parameterdaten übergeben und demnach auch keine Parameterdaten per XMLHttpRequest an den Webserver geschickt.

Mit window.Alert(), einer aus dem vordefinierten JavaScript-Objekt Window stammenden Methode, wird die Antwort in der Funktion handleResponse ausgegeben. Auch hier wird wieder das Gegenstäck zum onLoad-Event, das onUnload-Event des BODY-Tags genutzt, um einen noch in der Verarbeitung befindlichen Ajax-Request zu beenden.

<a href="javascript:sendHeadRequest ()" title="">HEAD Request senden</a>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Funktion erzeugt, in Abhängigkeit des benutzten Browsers, ein
// XMLHttpRequest-Objekt.
function getRequestObject () {
  // Wenn es sich bei dem vom Benutzer verwendeten Browser
  // um einen Internet Explorer handelt, wird das Request-Objekt
  // per ActiveX geholt.
  if (navigator.appName == "Microsoft Internet Explorer")
    return new ActiveXObject ("Microsoft.XMLHTTP");
  else
    // Bei anderen Browsern liegt das Request-Objekt direkt
    // unterhalb des Window-Objekts.
    return new XMLHttpRequest ();
}

// Die nächste Funktion sendet einen HEAD-Request an einen Webservice.
// Ein Head-Request kann verwendet werden, um zu prüfen, ob der
// angefragte Dienst zur Verfügung steht.
function sendHeadRequest () {
  // Request per HEAD-Methode (durch ersten Parameter festgelegt) öffnen
  // URL, unter welcher der abzufragende Service läuft, steht im zweiten Parameter
  httpRequestObject.open ('HEAD', 'httprequesttest.php');
  // Reaktion auf den Request wird von der hier angegebenen Handler-Funktion
  // geregelt.
  httpRequestObject.onreadystatechange = handleResponse;
  // HEAD-Request abschicken
  httpRequestObject.send (null);
}

// Für den HEAD-Request passender Event-Handler, der auf den
// vom Webserver gelieferten Statuscode reagiert.
function handleResponse () {
  // Request abgeschlossen (readyState 4)...
  if (httpRequestObject.readyState == 4)
    // und Server mit OK (Status 200) oder Datei unverändert (Status 304) geantwortet?
    if (httpRequestObject.status == 200 || httpRequestObject.status == 304)
      // Der Webservice steht zur Verfügung und kann Anfragen beantworten.
      alert ('Service ist bereit!');
    else
      // Ein Fehler ist aufgetreten!
      alert ('Service arbeitet nicht korrekt!');
}

// HttpRequestObject per oben definierter Funktion erzeugen und
// in der Variablen speichern, damit künftig auf das Objekt zugegriffen
// werden kann.
var httpRequestObject = getRequestObject ();

// Wenn das Dokument geschlossen wird, müssen noch nicht beendete
// Requests abgebrochen werden.
window.onunload = httpRequestObject.abort ();
// -->
</script>

HEAD Request senden

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht