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

Comment puis-je récupérer correctement le texte de réponse AJAX dans Prototype.js ?

Barbara Streisand
Libérer: 2024-12-18 10:58:10
original
416 Les gens l'ont consulté

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

Récupération du texte de réponse AJAX

Lorsque vous travaillez avec AJAX à l'aide d'un prototype, il est essentiel de comprendre comment récupérer le texte de réponse pour un traitement ultérieur. Le code d'origine que vous avez fourni :

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

peut ne pas renvoyer la valeur souhaitée en raison de la nature asynchrone d'AJAX. Voici une meilleure approche :

Passer une fonction de rappel

Au lieu de renvoyer directement la réponse, définissez une fonction de rappel comme paramètre pour somefunction(). Cette fonction de rappel sera invoquée lorsque la requête AJAX sera terminée :

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);
            }
        }
    });
}
Copier après la connexion

Dans une autre fonction, vous pouvez maintenant appeler somefunction() et fournir le rappel pour traiter le texte de réponse :

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

En utilisant une fonction de rappel, vous pouvez vous assurer que le résultat est traité lorsque la requête AJAX est terminée, éliminant ainsi le problème d'une chaîne de réponse vide.

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!

source:php.cn
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