AJAX - XMLHttpRequest
Obiekt XMLHttpRequest jest kluczem do AJAX. Jest dostępny od czasu wydania przeglądarki Internet Explorer 5.5 w lipcu 2000 roku, ale nie został w pełni odkryty, dopóki AJAX i Web 2.0 w 2005 roku stały się popularne.
XMLHttpRequest (XHR) to interfejs API, który może być używany przez JavaScript, JScript, VBScript i inne języki skryptowe przeglądarek internetowych do przesyłania i manipulowania danymi XML do iz serwera internetowego przy użyciu protokołu HTTP, ustanawiając niezależny kanał połączenia między stroną klienta a stroną internetową Po stronie serwera.
Dane zwrócone z wywołań XMLHttpRequest będą często dostarczane przez wewnętrzne bazy danych. Oprócz XML, XMLHttpRequest może służyć do pobierania danych w innych formatach, np. JSON lub nawet zwykły tekst.
Widzieliście już kilka przykładów tworzenia obiektu XMLHttpRequest.
Poniżej wymienione są niektóre metody i właściwości, z którymi należy się zapoznać.
Metody XMLHttpRequest
abort()
Anuluje bieżące żądanie.
getAllResponseHeaders()
Zwraca pełny zestaw nagłówków HTTP jako ciąg.
getResponseHeader( headerName )
Zwraca wartość określonego nagłówka HTTP.
open( method, URL )
open( method, URL, async )
open( method, URL, async, userName )
open( method, URL, async, userName, password )
Określa metodę, adres URL i inne opcjonalne atrybuty żądania.
Parametr metody może mieć wartość „GET”, „POST” lub „HEAD”. Możliwe są inne metody HTTP, takie jak „PUT” i „DELETE” (używane głównie w aplikacjach REST).
Parametr „async” określa, czy żądanie powinno być obsługiwane asynchronicznie, czy nie. „prawda” oznacza, że przetwarzanie skryptu jest kontynuowane po wykonaniu metody send () bez oczekiwania na odpowiedź, a „fałsz” oznacza, że skrypt czeka na odpowiedź przed kontynuowaniem przetwarzania skryptu.
send( content )
Wysyła żądanie.
setRequestHeader( label, value )
Dodaje parę etykieta / wartość do wysyłanego nagłówka HTTP.
Właściwości XMLHttpRequest
onreadystatechange
Program obsługi zdarzeń dla zdarzenia uruchamianego przy każdej zmianie stanu.
readyState
Właściwość readyState definiuje aktualny stan obiektu XMLHttpRequest.
Poniższa tabela zawiera listę możliwych wartości właściwości readyState -
Stan | Opis |
---|---|
0 | Żądanie nie zostało zainicjowane. |
1 | Żądanie zostało utworzone. |
2 | Żądanie zostało wysłane. |
3 | Żądanie jest przetwarzane. |
4 | Żądanie zostało zakończone. |
readyState = 0 Po utworzeniu obiektu XMLHttpRequest, ale przed wywołaniem metody open ().
readyState = 1 Po wywołaniu metody open (), ale przed wywołaniem metody send ().
readyState = 2 Po wywołaniu funkcji send ().
readyState = 3 Po nawiązaniu przez przeglądarkę komunikacji z serwerem, ale zanim serwer zakończy odpowiedź.
readyState = 4 Po zakończeniu żądania i całkowitym odebraniu danych odpowiedzi z serwera.
responseText
Zwraca odpowiedź jako ciąg.
responseXML
Zwraca odpowiedź jako XML. Ta właściwość zwraca obiekt dokumentu XML, który można zbadać i przeanalizować przy użyciu metod i właściwości drzewa węzłów W3C DOM.
status
Zwraca stan jako liczbę (np. 404 dla „Nie znaleziono” i 200 dla „OK”).
statusText
Zwraca status jako ciąg znaków (np. „Nie znaleziono” lub „OK”).