probléme d'importation de javascript dans page utulise ajax

Signaler
Messages postés
30
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
17 février 2011
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,
J'ai une page HTML contruit à l'aide de deux DIV. Les DIV sont placer l'un à coté de l'autre.

par exemple:



et


dans le div1 j'ai crée un menu qui contient des liens a des pages.Grace à l'utulisation d'ajax lorsque je clique à un lien je charger la page.php que je préféré à le div2.
le code d'ajax que j'ai inséré
function envoieRequete(url,id)
{
var xhr_object = null;
var position = id;
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
//eval(xhr_object.responseText);
document.getElementById(position).innerHTML = xhr_object.responseText;

}
}
// dans le cas du get
xhr_object.send(null);

}
</script>

mon probléme lorsque importer un code javascript a la page que je le charger dans le div2 aucune événement de javascript sa marche?
comment résolu se probléme?
aider moi svp
merci d'avance
cordialement

7 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,
>>mon probléme lorsque importer un code javascript a la
>>page que je le charger dans le div2 aucune événement de
>>javascript sa marche?
ce n'est pas avec vous que j'en ai déjà causé ????
néanmoins, explications :
lorsqu'on appelle un script sur le serveur
avec ajax, la réponse de celui-ci n'est pas
interprétée mais retournée dans une variable
donc... je javascript n'est pas exécuté.
à vous de le faire manuellement

j'ai déjà dit , mais répétons :
ajax n'est pas fait pour retourner des pages
html/javascript ! inutile de tenter de
réinventer ce qui fonctionne de manière
tout à fait normale et classique

si vous y tenez à tout prix
( pour moi, c'est uen erreur de conception,
mais bon.... ), regardez comment font
ces bibliothèques de fonctions, pompeusement
appelées FrameWork,
voire aussi un tout petit exemple ici
mais surtout, à mon humble avis toujours,
c'est toujours inutile !!!!
mettez votre fonction dans la page appelante,
vous n'aurez pas à l'interprétrer

Cordialement [mon Site] [M'écrire] Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Messages postés
30
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
17 février 2011

bonjour Bull3
tu peux envoyer une explication à l'exemple que tu me donner si dessus car il est compliqé quelque chose
merci d'avance
cordialement
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ça peut effectivement sembler compliqué
mais : que ne comprenez-vous pas ?
car
coté droit ( sans javascript retourné )
- en javascript : 4 lignes
- en php : 1 lignes
coté gauche ( avec javascript à interpréter )
- javascript : 6
- php : 7
l'important, dans mon message, c'est :
>>ajax n'est pas fait pour retourner
>>des pages html/javascript
utilisez plutôt les méthodes classiques
et >>si vous y tenez à tout prix
lisez comment on peut faire
et "basiquement" : eval
Messages postés
30
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
17 février 2011

bonjour Bul3
merci encore à votre explication.
tu me dit:>>si vous y tenez à tout prix
lisez comment on peut faire
et "basiquement" : eval
comment utuliser "eval" donner moi un claire exemple svp.
merci d'avance
cordialement
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>comment utuliser "eval" donner moi un claire exemple svp.
ah... donc vous tenez, à tous prix,
à réinventer les dialogues normaux
entre le serveur et le client...
chacun, ses goûts, vous vous compliquez
la vie et vous promettez une maintenance
délicate ( doux euphémisme ) voire plus,
mais bon... si cela vous amuse, après tout...

que vous faut-il de plus que l'exemple coté gauche ?????
un eval existe, non ????


<html>




<script>
var xml = new XMLHttpRequest();
xml.open( "get", "ajax.php", false);
xml.send("");
var d=document.getElementById("txt");
d.innerHTML=xml.responseText;
eval(d.getElementsByTagName('script').text);
</script>

</html>


bine sûr, j'ai simplifié au maximum
( ajax synchrone, pas envisagé toutes
les versions de tous le navigateurs ... )
mais, l'essentiel ( sinon le principe ) est là
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
si cela ne suffit pas, je vous ai déjà
"conseillé" ( si on peut se permettre un
conseil à qui que ce soit ), de regarder
comment font les bibliothèques de fonctions
ou GAG ici même