Passer des paramètres à xmlhttp.onreadystatechange Fonction

Apprenez la signification de xmlhttp.onreadystatechange = function () ... Aussi savoir comment passer onreadystatechange paramètres d'exécuter la demande AJAX.

A+ A-

Lorsque la réponse d'une requête AJAX est prêt sur ​​le serveur, la valeur de la propriété readyState de l' objet XMLHttpRequest est changé à "4". Cela signifie que la demande est maintenant terminée et la réponse pourrait être reçue. Onreadystatechange propriété du même objet stocke une fonction anonyme définie par l' utilisateur qui est exécutée chaque fois que des changements de propriété readyState. Un morceau typique de code pour ce serait comme ci-dessous:

 xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4)
{
// Faire quelque chose avec la réponse
}
}; 

Cependant, parfois , il est nécessaire de passer un ou plusieurs paramètres à cette fonction anonyme. Il semble difficile, mais il est assez simple! Cette fonction anonyme ne peut pas prendre des paramètres , mais il peut appeler une autre fonction définie dans le même fichier et de passer des paramètres. Donc, si vous voulez passer des paramètres à la fonction anonyme -on peut le faire comme ci-dessous:

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

fonction stateChanged (p1, p2)
{
        if (xmlHttp.readyState == 4)
        {
            // Faire quelque chose avec la réponse
        }
} 

Est-il pas une solution assez intelligent ?! Il est comme prendre une longue route peu -mais cet itinéraire est pas si difficile -Est-il? Espérons que cela vous aide et vous gagner du temps. Permettez-moi de savoir comment vous avez aimé cette astuce. Merci d'utiliser TechWelkin.

Ads

Partager