|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : juin 2008 Messages : 46 ![]() |
Bonjour,
J'ai un problème assez récurent en JavaScript lié à la visibilité de mes variables. Je vais mettre un bout de code tout simple et je vous demanderais de me dire comment vous auriez procédé: C'est l'ébauche d'une classe pour gérer la traduction. Code :
Comment faire pour sortir le résultat de la requête des "({})" de l'Ext.Ajax.request? D'avance merci pour votre aide. |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
poster les question extj dans le forum dédier
mais voici la réponse Code :
pour info il ne s'agit pas là d'un pb de portée de variable mais d'un pb de référence. dans le début de la fonction on définit un membre de l'objet. ensuite on fait appel Ext.Ajax.request auquel on passe en paramètre un objet définit à la voléest un objet this dans cet objet est l'objet lui même par définition. donc déjà la référence n'est pas l'objet de départ mais celui construit dynamiquement. Code :
les méthodes sont alors détachées de leur objet originel et pour être attaché à cet objet request. this est donc à l'exécution c'est objet request. A+JYT |
||||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : juin 2008 Messages : 46 ![]() |
Bonjour Sekajin,
Désolé pour l'erreur d'emplacement de POST, j'étais persuadé que cette problèmatique était liée au javaScript et non à l'ExtJS. Merci pour ta réponse, mais malheureusement elle ne semble pas fonctionner chez moi. Le console.log de ma méthode translateENtoFR me renvoi "null", j'en déduis donc que ce qui est fait dans l'"Ext.Ajax.request" n'est pas appliqué à ma variable translationTable, ou est effectuée après. En tous cas je vais creuser au niveau du "requester.scope." PS: Tu me confirmes que le sekajin qui poste sur le forum Zend est le même que celui qui poste ici? ;-) |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
la réponse ajax est asynchrone
donc à priori tu ne sais pas quand success sera appelé. A+JYT |
|
|
00
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Inscription : juin 2008 Messages : 46 ![]() |
Merci pour la réponse.
Ok sur l'asynchrone, du coup je modifie mon code pour que cela fonctionne et ça me donne ça: Code :
--> En php, j'aurai mis l'appel a la requête AJAX dans le init de la classe, mais en javascript la méthode proposée était celle que j'ai mis dans mon premier exemple (incompatible avec la requête asynchrone), quelle est donc la bonne méthode? Encore merci pour ton aide. |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Développeur .NET Inscription : septembre 2011 Messages : 3 ![]() |
une petite question ... pourquoi ne peut t-on pas faire le console.log à l'extérieur de l'Ajax.Request?
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com