|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
Bonjour,
Je voudrais récupérer des données dans une base de données pour initialiser un formulaire. côté javascript, dans mon fichier appli.js, j'ai une fonction qui lance une requête ajax : Code :
Code :
Code :
[{"dd":"2000-07-19 15:33:16","df":"2011-03-14 04:55:03"}] mais quand j'appelle ma fonction dbInfos (clic d'un bouton sur ma page), firebug me renvoie l'erreur : dans le fichier ext-all.js, ligne 8 si c'est un bug dans la librairie ext, je ne me vois pas aller modifier ça, sinon, qu'est ce qui cloche ? Merci, Nico |
||||
|
|
00
|
|
|
#2 | ||||
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
Bon, j'ai avancé, ça marche (enfin presque...)
mon script dbDates.php: Code :
Code :
{"dd":["2000-07-19 15:33:16"],"df":["2011-03-15 04:47:17"],"parametres":["Temp\u00e9rature de l'air sec","Humidit\u00e9 relative","Temp\u00e9rature","Salinit\u00e9","Oxyg\u00e8ne dissous","Rayonnement photosynth\u00e9tiquement actif","Chlorophylle a","Turbidit\u00e9","pH"]} voici mon fichier appli.js: Code :
Je pense que ça vient du fait que c'est de l'ajax, et donc le résultat de la requête n'est pas encore revenu quand il lance la fonction initComponent. Comment faire pour attendre le retour de la requête ajax? ou alors ajax n'est pas la bonne solution? Merci, Nico |
||||
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Étudiant Inscription : mai 2007 Messages : 249 ![]() |
|
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
j'ai essayé par une autre méthode avec ext.data.jsonStore :
Code :
comment accéder aux éléments du json ? Merci, Nico |
||
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() ![]() Étudiant Inscription : mai 2007 Messages : 249 ![]() |
Essaie avec Mais ce la ne pourra pas fonctionner car dans l'appel de ton store tu veux afficher des données qui n’existe pas encore...
A moins que je me trompe. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
quand je fais afficher dbInf, firebug renvoie toutes les caractéristiques de l'objet, et il y a une variable totalLength qui est à 0.
Pourquoi les données n'existant pas encore quand je fais dbInf.load()? puisque normalement, elles devraient exister à partir de la déclaration de dbInf non ? dans ce cas, quelle est la solution ? je voudrais que quand je commence la déclaration de la config de mon formulaire, le résultat de la requête soit là, pour que je puisse initialiser les champs de mon formulaire... Merci, Nico |
|
|
00
|
|
|
#7 | ||||
|
Membre confirmé
![]() ![]() Étudiant Inscription : mai 2007 Messages : 249 ![]() |
Le .load() sert à appeler les données.
Pendant que tu appel les données tu ne peu pas les afficher car elles n'existent pas encore. Essaie de mettre Code :
Ext.MessageBox.alert('reponse', dbInf.getAt(0).data.dd); D'ailleur pour le load je ferais plutot comme ceci: Code :
Code :
|
||||
|
|
00
|
|
|
#8 | ||
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
si je met mon alert après une instruction dbInf.load(), j'ai la même erreur.
si je met : Code :
sur la ligne du alert. Nico |
||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : novembre 2002 Messages : 319 ![]() |
Salut, voici une série de tutoriel sur ExtJS dans la 3emme partie il utilise une DB MySQL:
http://www.farkess.com/web/tutoriels...s-1ere-partie/ http://www.farkess.com/web/tutoriels...-2ieme-partie/ http://www.farkess.com/web/tutoriels...-3ieme-partie/ Du site : http://www.farkess.com/
__________________
Besoin d'éditeurs d'articles et de codes (www.farkess.com) |
|
|
00
|
|
|
#10 | ||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Bonjour,
C'est normal que ton appel à dbInf2 ne te renvoie pas les données voulues. Par défaut les requêtes Ajax sont asynchrone et donc le traitement n'est pas forcément terminé avant l'appelle de ta méthode. Il existe un moyen de rendre les requêtes Ajax synchrone, il s'agit d'une extentsion qui s'appelle baseX. Une fois la librairie ajouté tu as accés à un paramètre supplémentaire : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com