Appel de fonctions JavaScript renvoyées par les réponses Ajax
Dans de nombreux systèmes, les requêtes Ajax renvoient des blocs de script contenant des fonctions qui doivent être appelées après l'insertion des données. . Cela soulève la question de savoir si de telles fonctions sont appelables après avoir été insérées dans un DIV.
Est-ce possible ?
Oui, l'appel des fonctions JavaScript renvoyées est possible, en supposant :
Exemple de code :
Le code suivant illustre le concept sans utiliser Ajax :
<code class="javascript">var newsc = '<script id="sc1" type="text/javascript">function go() { alert("GO!") }</script>'; var e = document.getElementById('div1'); e.innerHTML = newsc; eval(document.getElementById('sc1').innerHTML);</code>
Considérations :
Bien que vous puissiez externaliser la fonction dans un fichier .js distinct, cela peut entraîner des problèmes avec des invocations Ajax répétées ou des changements de contexte de fonction. Par conséquent, réfléchissez attentivement à vos choix de conception.
Approche alternative :
Si vous avez besoin d'un appel contextuel de la fonction immédiatement après avoir reçu la réponse Ajax, il est recommandé d'utiliser l'approche Prototype décrite par Krosenvold. Il est multi-navigateur, testé et fournit une base solide pour les implémentations futures.
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!