cs_christophedlr
Messages postés262Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 juillet 2022
-
6 juin 2009 à 00:52
cs_christophedlr
Messages postés262Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 juillet 2022
-
6 juin 2009 à 16:56
Bonsoir,
J'ai emprunter y a quelques jours un livre à la bibliothèque de la ville sur l'AJAX.
J'en suis à la lecture de fichiers texte, mais ça fonctionne pas.
Voici le code :
test.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Liste de clients avec 4 informations - Tutoriel AJAX</title>
</head>
function getData()
{
/*Appel sous IE6 et -*/
//var queryAJAX = new ActiveXObject('Microsoft.XMLHTTP'); //Objet ActiveXObject
/*Appel sous IE7 et + et FireFox*/
var queryAJAX = new XMLHttpRequest();
queryAJAX.open('GET', 'client.txt', false); //Connexion HTTP vers une source de données
queryAJAX.send(null); //Envoie de la requête
var data = queryAJAX.responseText; //Récupère le contenu du fichier texte (responseXML pour un document XML)
var Name = document.getElementById('name');
Name.innerHTML = data.Name;
}
J'explique le problème, data.Name renvoi : Undefined au lieu de renvoyer la valeur de la propriété Name du fichier texte.
Et si je fais comme dans le livre c'est à dire que je rajoute un eval pour la variable data, ben là y a rien du tous, date est vide, alors que là si je remplace par exemple data.Name par data, il affiche bien le contenu du fichier texte précédemment lus.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201515 6 juin 2009 à 13:53
pour t'en convaincre relis ton bouquin et compare ton fichier !
{ Name: Nom Firstname: Prénom Age: 0, Birthday: 01/01/1900 } ça ne correspond pas ! c'est sûr !!!
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201515 6 juin 2009 à 10:25
Bonjour,
sans eval, ça ne peut pas fonctionner tel quel,
il faut extraire les infos du "fichier" lu
avec eval, par exemple ( mis nom et prénom sans plus )
remplacé le onclikc par window.onload, mais bon....
testé uniquement avec FF et donc j'ai sucré l'inutile
htm+javascript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Liste de clients avec DEUX informations - Tutoriel AJAX</title>
<script type="text/javascript">
function getData()
{ var queryAJAX = new XMLHttpRequest();
queryAJAX.open('GET', 'client.txt', false);
queryAJAX.send(null);
eval("var data = "+queryAJAX.responseText);
document.getElementById('name').innerHTML = data.Name;
document.getElementById('Firstname').innerHTML=data.firstname;
}
window.onload=function() { getData(); }
</script>
</head>
<table border="1">
----
Nom : |
Prénom : |
Age : |
Date de naissance : |
----
, </td>
,
,
,
</html>
</td></tr></tbody></table>
le fichier texte
{ "Name":"Gédéon","firstname":"Teuzeumani" }
tel que c'est là c'est pour 1 client, pas 2 !
pas si simple d'ailleurs à faire avec plusieurs !
si c'est ton but, passe plutôt par un fichier .xml
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201515 6 juin 2009 à 10:48
si si ( l'impératrice ) ça fonctionne
essaye tel quel !
et dire que ça ne fonctionne pas n'aide pas à répondre !!!!!!
tu dois ne pas recopier correctement.
comme il y a trop de possibilités d'erreurs,
donner des pistes serait absurde.
si tu ne parviens pas, met nous ton script + ton fichier
( fichier dans lequel tu avais des erreurs ! )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201515 6 juin 2009 à 13:07
>>Pourtant j'ai recopier ton code.
peut-être ? mais je doute !
pas regardé très loin, mais non ! tu n'as pas copié complètement !!
j'avais mis { "Name":"Gédéon","firstname":"Teuzeumani" }
et toi tu mets { "Name":"Gédéon","Firstname":"Teuzeumani" }
pas tout à fait la même chose...
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201515 6 juin 2009 à 13:46
tout ce que je te dis, c'est que ce que mon fonctionne
malgré tes affirmations !!!!!! ( enfin pour 1 client !!! pas 2 )
ce que tu fais ne fonctionne pas,
enfin... c'est ce que tu dis ( je ne vais pas tester ! )
je ne peux pas faire plus que te donner un exemple qui marche.
après, mon foie, va falloir que tu creuses si tu adaptes
( pas comme il faut probablement )