Zum Versenden eines asyncronen HTTP-Requests kann folgender Javascript-Code verwendet werden:
var req = new XMLHttpRequest(); req.onreadystatechange = handleStateChange; req.open('GET', 'http://www.example.com/', true); req.send(null); function handleStateChange() { switch (req.readyState) { case 0: // UNINITIALIZED case 1: // LOADING case 2: // LOADED case 3: // INTERACTIVE break; case 4: // COMPLETED handleResponse (req.status, req.responseText); break; default: // fehlerhafter Status break; } } function handleResponse (status, responseText) { // verarbeiten der Daten ... }
Werte für XMLHttpRequest.readyState:
- UNINITIALIZED – Noch nicht initialisiert, d.h. noch kein Aufruf von open().
- LOADING – Request wurde initialisiert, aber noch kein send().
- LOADED – Request wurde mittels send() abgesetzt.
- INTERACTIVE – Teile der Antwort sind bereits verfügbar. Auf die Daten kann über responseText zugegriffen werden.
- COMPLETED – Die Bearbeitung des Requests ist beendet.