Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 sept. 2006 à 19:59
Salut à tous,
je me demande si ce n'est pas tout simplement la syntaxe
truc = function(){ return machin; } qui ne fonctionne pas.
Du coup je suis passé par une autre astuce qui est de mettre le xml dans une variable globale, puis de manipuler cette variable.
Je ne trouve pas ça très propre mais je n'ai pas trouvé mieux.
Merci à tous de vous être penché sur mon pb, si vous avez une autre idée n'hésitez pas.
Merci !
à+
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 4 sept. 2006 à 21:28
Salut!
Tu peux le faire! :)
Moi j'ai la meme ligne et ca joue... Quel est le pb exactemetn?
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 5 sept. 2006 à 08:53
Salut!
Un truc intéressant est l'affichage de
xmlHttp.status ; ca te donne bien 200?
Sinon, tu peux nous mettre un bout de code + grand!
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 sept. 2006 à 10:42
Bonjour!
le status est bien à 200.
Mon xml est de type
valeur ...
Ce qui marche bien :
tout dans ma fonction load_xml ( ) :
................
if(_xmlHttp.readyState= =4&&_xmlHttp.responseXML) {
//alert ( _xmlHttp.responseXML) me renvoie XmlObject
var infos = _xmlHttp.responseXML.getElementsByTagName("info");
for (var i= 0; i < infos.length; i++){ document.getElementById(infos[i].getAttribute("name")).innerHTML=infos[i].firstChild.data;
}
}
.............
ce qui ne marche pas :
dans ma fonction load_xml ( )
if(_xmlHttp.readyState==4&&_xmlHttp.responseXML) {
return _xmlHttp.responseXML;
}
et plus loin :
function load_texte( ){
var xmlDoc = load_xml("./load_texte.php?num=1");
//alert ( _xmlHttp.responseXML) me renvoie undefined var infos = xmlDoc.getElementsByTagName("info");
for (var i=0; i < infos.length; i++){
document.getElementById(infos[i].getAttribute("name")).innerHTML=infos[i].firstChild.data;
}
}
ça me parait bizarre aussi, si vous voulez plus de code...
Merci !
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 sept. 2006 à 11:02
ha et je précise que si je mets un alert juste avant le return (fonction load_xml) et un autre dans la fonction load_texte après l'appel, j'obtiens les deux messages : xml object, puis undefined. C'est donc bien le return qui ne passe pas apparemment...
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 5 sept. 2006 à 11:58
Et si tu déclares ton objet _xmlHttp en dehors de la fonction??
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 5 sept. 2006 à 12:54
Ta structure me semble bizarre:
si xml n'envoie pas de retour (pas encore) ta fonction load_xml ne renvoie rien... Ca peut poser pb au niveau du xmlDoc, non?
Je verrais plutot la partie
var infos = xmlDoc.getElementsByTagName("info");
for (var i=0; i < infos.length; i++){
document.getElementById(infos[i].getAttribute("name")).innerHTML = infos[i].firstChild.data;
}
Direct dans le on change, genre:
if(_xmlHttp){
//appel à l\'url distante
_xmlHttp.open("GET", adresse,true);
_xmlHttp.onreadystatechange = function() {
if(_xmlHttp.readyState == 4 && _xmlHttp.responseXML)
{
var infos = _xmlHttp.responseXML.getElementsByTagName("info");
for (var i=0; i < infos.length; i++)
document.getElementById(infos[i].getAttribute("name")).innerHTML = infos[i].firstChild.data;
}
}
// envoi de la requête
_xmlHttp.send(null)
}
Qu'en penses-tu?
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 5 sept. 2006 à 15:21
Hello,
oui ça marche mais ce n'est pas ce que je veux, car je veux simplement une fonction générique qui me renvoie du xml à partir d'une page, car le xml après sera traité de plusieurs manières différentes selon les cas. Load_texte( ) n'est qu'une fonction parmi d'autres, et je trouverais moche de réécrire toute la partie ajax à chaque fois.
Sinon je ne vois pas bien ce que tu voulais dire par
si xml n'envoie pas de retour (pas encore) ta fonction load_xml ne renvoie rien... Ca peut poser pb au niveau du xmlDoc, non?