Przekazać parametry do funkcji xmlhttp.onreadystatechange

Dowiedz znaczenie xmlhttp.onreadystatechange = function () ... wiemy również, jak przekazać onReadyStateChange parametry do wykonania żądania AJAX.

A+ A-

Gdy reakcja żądania AJAX jest gotowa na serwerze, wartość właściwości readyState obiektu XMLHttpRequest jest zmieniony na "4". Oznacza to, że wniosek jest kompletny i odpowiedź może być odebrany. onreadystatechange własnością tego samego obiektu przechowuje anonimowe funkcji zdefiniowanej przez użytkownika, która jest wykonywana przy każdej zmianie własności readyState. Typowym kawałek kodu do tego byłoby jak poniżej:

 xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4)
{
// Zrób coś z odpowiedzią
}
}; 

Jednak czasami jest to konieczne, aby przekazać jeden lub więcej parametrów do tej anonimowej funkcji. Brzmi to trudne, ale jest to całkiem proste! Ta anonimowa funkcja nie może przyjmować parametry, ale może wywołać inną funkcję zdefiniowaną w tym samym pliku i przekazać parametry do niego. Tak więc, jeśli chcesz przekazać parametry do funkcji anonimowej -można to zrobić jak poniżej:

 xmlHttp.onreadystatechange = function () {
            stateChanged (parametr1, parametr2);
        };
    xmlHttp.open ( "GET", handlingURL, true);
    xmlHttp.send (null);
}

Funkcja stateChanged (P1, P2)
{
        if (xmlHttp.readyState == 4)
        {
            // Zrób coś z odpowiedzią
        }
} 

Czy nie jest to całkiem sprytne rozwiązanie ?! To jest jak trochę długą drogę -ale ta droga nie jest wcale takie trudne -jest to? Nadzieję, że to pomaga i zaoszczędzić czas. Daj mi znać, jak podoba Ci się ta wskazówka. Dziekujemy za korzystanie TechWelkin.