Najnowsze tutoriale tworzenie stron internetowych
 

AJAX - The Event onreadystatechange


Onreadystatechange wydarzenie

Gdy żądanie do serwera zostaje wysłany, chcemy wykonać pewne działania na podstawie odpowiedzi.

Impreza onreadystatechange jest uruchamiany za każdym razem gdy readyState zmian.

Właściwość readyState posiada status XMLHttpRequest.

Trzy ważne właściwości obiektu XMLHttpRequest:

Nieruchomość Opis
onreadystatechange Sklepy funkcją (lub nazwa funkcji) należy za każdym razem wywoływana automatycznie zmienia własności readyState
readyState Uznaje stan XMLHttpRequest. Zmiany od 0 do 4:
0: nie wymagać zainicjowany
1: Połączenie z serwerem ustanowione
2: wniosek otrzymał
3: Wniosek przetwarzania
4: Prośba wykończone i odpowiedź jest gotowa
status 200: "OK"
Nie znaleziono strony: 404

W onreadystatechange razie możemy określić, co się stanie, kiedy odpowiedź serwera jest gotowe do przetworzenia.

Gdy readyState jest 4 i status jest 200, odpowiedź jest gotowa:

Przykład

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
  if (xhttp.readyState == 4 && xhttp.status == 200) {
    document.getElementById("demo").innerHTML = xhttp.responseText;
  }
};
Spróbuj sam "

Uwaga: onreadystatechange zdarzenie jest wywoływane pięć razy (0-4), jeden raz dla każdej zmiany w readyState.


Korzystanie z funkcji zwrotnej

Funkcja zwrotna jest funkcją przekazany jako parametr do innej funkcji.

Jeśli masz więcej niż jedno zadanie AJAX na swojej stronie internetowej, należy utworzyć jedną standardową funkcję tworzenia obiektu XMLHttpRequest, i nazywają to dla każdego zadania AJAX.

Wywołanie funkcji powinno zawierać adres URL i co zrobić na onReadyStateChange (co jest zapewne inna dla każdego wywołania):

Przykład

function loadDoc(cFunc) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
  if (xhttp.readyState == 4 && xhttp.status == 200) {
    cFunc(xhttp);
  }
Spróbuj sam "