Maison >interface Web >js tutoriel >Comment appeler les fonctions JavaScript renvoyées par les réponses Ajax ?

Comment appeler les fonctions JavaScript renvoyées par les réponses Ajax ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-22 12:00:04223parcourir

How do I Invoke JavaScript Functions Returned from Ajax Responses?

Comment appeler des fonctions JavaScript renvoyées par les réponses Ajax

Votre question concerne la récupération d'un bloc de script contenant une fonction via Ajax et l'exécution de cette fonction après. Ce processus comporte deux étapes cruciales :

1. Évaluation de la réponse Ajax

Une fois la réponse Ajax contenant la déclaration de la fonction reçue, vous devez l'exécuter pour déclarer la fonction. Vous pouvez le faire en évaluant la réponse à l'aide de la fonction eval().

<code class="javascript">var response = yourAjaxCallbackResponse;
eval(response); // Evaluates the function declaration</code>

2. Appeler la fonction

Une fois la fonction déclarée, vous pouvez l'invoquer comme n'importe quelle autre fonction JavaScript. Faites simplement référence au nom de la fonction et transmettez tous les paramètres nécessaires.

<code class="javascript">var functionName = "myFunction";
functionName(); // Invokes the function by its declared name</code>

Considérations importantes :

  • Le code JavaScript renvoyé par Ajax doit être syntaxiquement correct.
  • La déclaration de fonction doit être évaluée (pas seulement insérée sous forme de texte) pour être accessible pendant la durée de vie de la page.
  • D'autres approches, telles que Function.prototype.bind() de Prototype, peuvent être utilisées pour gérer les invocations de fonctions contextuelles.

Exemple :

<code class="html"><div id="myDiv"></div>

<script>
    $.ajax({
        url: 'myScript.js',
        dataType: 'script',
        success: function(response) {
            eval(response);
            myFunction(); // Invokes the function returned by Ajax
        }
    });
</script></code>

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:
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