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”).