-
Fonction via ajax
Bonjour,
Peut on appeler une fonction se trouvant dans un fichier qui est chargé suite à une requête ajax.
Je m'explique :
Fichier parent (charge des scripts divers et fait appelle à un fichier enfant via une requête ajax suite à un addEvent)
Fichier enfant : (charge des scripts donc une function x() )
Mon problème, dans le fichier parent, je fais appelle à la function x(), mais la console m'indique que la function x n'est pas défini. Pourtant elle est bien présente dans le fichier enfant.
Donc, peut on faire appelle d'une fonction du fichier parent au fichier enfant?
Bonne journée
Cédric
-
1) quel interet de charger des script a postériori ?
si ils sont sur la page au départ tu n'auras pas de souci ...
2) rappel ajax échange avec le serveur des string ...
le code retourné n'est pas interprété comme du code mais du string ...
ce sujet a été maintes fois traité sur le forum ...
-
Tu as l'air d'avoir besoin d'un script loader.
On ne charge pas un JS comme on charge un bout d'HTML en AJAX. Enfin, on peut, mais c'est ultra moche et on a pas de garantie sur l'existence des variables etc...
Utilise plutôt une requête tierce pour charger tes JS indépendamment de ton contenu. Avec jQuery, il y a $.getScript, sinon il y a un tas d'autres solutions : requireJS, headJS...
-
Pour quelque chose de bête et méchant mais qui marche tu fais une insertion dans le dom de la balise script avec sa source :
Code:
headerSelector.append('<script type="text/javascript" src="../js/monscript.js"></script>')
Le dom détecte qu'une balise script a été ajoutée et va automatiquement rechercher le js sur le server.
-
Citation:
Code:
headerSelector.append(...)
Code:
headerSelector.appendChild(...)
Voulais-tu dire ? ;)
-
J'ai tellement l'habitude d'utiliser jQuery, mais l'idée est la ! =)