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 "