Maison > interface Web > js tutoriel > Comment puis-je récupérer le texte de réponse AJAX de manière synchrone dans Prototype.js ?

Comment puis-je récupérer le texte de réponse AJAX de manière synchrone dans Prototype.js ?

Barbara Streisand
Libérer: 2024-12-26 04:32:13
original
1058 Les gens l'ont consulté

How Can I Retrieve AJAX Response Text Synchronously in Prototype.js?

Récupération asynchrone du texte de réponse JavaScript et XML (AJAX)

Dans le contexte du développement AJAX basé sur un prototype, la récupération du texte de réponse pose un problème défi. Considérez le code suivant :

somefunction: function(){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
            }
        }
    });
    return result;
}
Copier après la connexion

Dans cet extrait, la fonction "onComplete" est exécutée de manière asynchrone, longtemps après la fin de "someFunction". Cela se traduit par une variable "result" vide.

Pour pallier à cela, une solution est proposée dans la réponse fournie : introduire une fonction de rappel dans la "someFunction" en paramètre. Ce rappel sera invoqué une fois l'opération AJAX terminée.

Voici le code modifié :

somefunction: function(callback){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                callback(result);
            }
        }
    });

}
somefunction(function(result){
  alert(result);
});
Copier après la connexion

Dans ce cas, "someFunction" prend un rappel en paramètre et l'appelle avec le texte de réponse. Dans l'exemple, la fonction de rappel affiche une alerte avec le texte récupéré. Ce mécanisme garantit que le texte de réponse est disponible pour les fonctions suivantes en cas de besoin.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal