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

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht