jnbdzjnbdz
Messages postés79Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention10 juillet 2008
-
23 nov. 2006 à 04:55
jnbdzjnbdz
Messages postés79Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention10 juillet 2008
-
25 nov. 2006 à 02:18
Bonjour, je travaille depuis un certain temps sur une application web faite avec ajax et PHP. Je viens de rencontrer un problème qui m'empêche d'avancer.
Le problème ses que mon application fait avec ajax peu seulement afficher le contenue dans un endroit, mais ses que la je veu qu'il affiche le contenue dans d'autres endroits. Avec se problème jai eu l'idée géniale d'organiser l'information envoyer par le serveur en le mettent dans un élément. Exemple :
<nssajax atrwhere="default">
Default
</nssajax>
<nssajax atrwhere="part1">
Part1
</nssajax>
L'attribut atrwhere sa ses la valeur du id du div qui vas recevoir le contenue.
Voici le code qui logiquement devrait marcher, mais pour une raison inexplicable ça ne marche pas...
getXhr();
// on défini ce quon va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
whereto(); if(xhr.readyState 4 && xhr.status 200){
//document.getElementById(where).innerHTML = xhr.responseText;
var ajaxcontent = xhr.responseText;
for (i=0;i alert(ajaxcontent); sa m'affiche le contenue sans problème, mais le javascript bloque a getElementsByTagName("nssajax") il dit que se n'est pas une fonction. Voilà mon problème.
C'est vrai que jai inventer <nssajax atrwhere="part1">, mais sa je ne veu pas que ça affiche.
Liens à l'application:
www.jeannicolas.com/core/ajax_teste_get_atr_content_in_element.php
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 23 nov. 2006 à 13:24
Evidemment que cela ne marche pas... car ajaxcontent est une chaine de caractère pas un élement DOM!!! donc comme l'a dit roro06 il faut utiliser responseXML etant donné que tu renvoies de l'xml par ajax.
jnbdzjnbdz
Messages postés79Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention10 juillet 2008 24 nov. 2006 à 04:35
Re, Rebonjour, merci encore une autre fois pour votre aide ses tres apprécier. [auteurdetail.aspx?ID=649381 rubiks10] j'aime beaucoup ton idée mais jai pas l'impression que sa marche avec mon système.
Jai essayer de mettre un content-type avec php et sa ne done rien. Firefox me renvoie le même message d'érreure ajaxcontent.getElementsByTagName is not a function.
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007 24 nov. 2006 à 09:15
Bonjour
Pour debugger sous firefox, je te conseille vivement firebug (extension de ff). Sur ton site, il apparait que le content-type de ta réponse est tjrs en text/html. fait peut-être une recherche sur phpcs.com. Par contre, je suis étonné que la solution de Rubik's, qui me semble valable, ne fonctionne pas.
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 24 nov. 2006 à 20:45
Salut
Tu dis que tu aimes bien mon idée mais que tu n'as pas l'impression que ca marche avec ton système...
Mais as-tu essayé??? car ca fonctionne très bien chez moi.
jnbdzjnbdz
Messages postés79Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention10 juillet 2008 24 nov. 2006 à 21:55
Oui, jai mis le header dans php comme tu ma dit. Disons que le problème a évoluer car la il a arrêter de me dire que getElementByTagName is not a function.
La le probème ses que je ne suis pas capable de retirer l'information qui se trouve dans l'element, jai essayer avec tagget.firstChild.nodeValue; et sa marche disons a moitier sa me done une partie de mon contenue. Exemple:
Voici se que le serveur luis envoie:
<nssajax atrwhere="default">
aaa
Part1
</nssajax>
Avec tagget.firstChild.nodeValue; il me done:
aaa
Et n'affiche pas Part1
.
Jai essayer apprais tagget.innerHTML;
Sa me renvoie Undifiend.
Apprais jai essayer avec tagget.innerXML.
Sa me renvoie Undifiend.
Merci encore une fois. Et je vais actualiser la version sur mon serveur.
Je pense que devrais apprendre le modèle DOM c'est à dire lire des cours et aussi sur le XML car si tu n'as pas les connaissances nécessaires tu t'en sortiras pas.
En résumé tout ce qui entre des entre balise est une élement !!!!