Maison > interface Web > js tutoriel > le corps du texte

Comment évaluer les fonctions JavaScript renvoyées à partir des réponses Ajax ?

Linda Hamilton
Libérer: 2024-10-22 12:44:03
original
168 Les gens l'ont consulté

How to Evaluate Returned JavaScript Functions from Ajax Responses?

Intégration des fonctions JavaScript renvoyées par Ajax

Le défi se pose lorsqu'une réponse Ajax délivre un bloc de script contenant une fonction JavaScript. L'exécution de cette fonction devient nécessaire pour déclencher des actions spécifiques.

Solution : évaluer le code de fonction

Malgré son placement au sein d'un

élément, le navigateur ignore l'existence de la nouvelle fonction à moins que le code de déclaration ne soit explicitement exécuté. Pour y parvenir, le code de la fonction doit être évalué à l'aide de eval(), déclarant officiellement la fonction et la rendant accessible tout au long de la durée de vie de la page.

Considérons l'exemple simplifié suivant :

<code class="html"><script>
  var newFunc = '<script>function go() { alert("Hello!") }</script>';
  var e = document.getElementById('myElement');
  e.innerHTML = newFunc;
  eval(document.getElementById('newFunc').innerHTML);
</script></code>
Copier après la connexion

Dans Dans ce scénario, Ajax n'est pas utilisé, mais le concept reste le même. Le bloc de script est inséré dynamiquement dans un fichier

avant que eval() ne soit utilisé pour exécuter la déclaration de fonction.

Considérations supplémentaires

Il convient de noter que cette approche peut ne pas être optimale dans toutes les situations. Les invocations répétées d'Ajax ou les préoccupations concernant la persistance des fonctions dans différents contextes peuvent justifier des solutions de conception alternatives telles que :

  • Exposer la fonction dans un fichier JavaScript séparé
  • Utiliser l'approche prototype décrite par krosenvold ( compatibilité entre navigateurs, fonctionnalités testées)

En fin de compte, la meilleure solution dépend des exigences spécifiques et du contexte de l'application.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!