Pages: 1
- Sujet précédent - [Mapfish 1.2 et OpenLayers] Python controllers et textfield - Sujet suivant
#1 Fri 15 October 2010 10:47
- soussou126
- Participant occasionnel
- Date d'inscription: 22 May 2010
- Messages: 21
[Mapfish 1.2 et OpenLayers] Python controllers et textfield
Bonjour,
j'ai dans mon controller (python) une fonction qui me retourne un string
Code:
def count(self): conn = engine.connect() results = conn.execute("SELECT get_points_into_poly_count2('Point(-282839.81724428 3194104.4938502)', 'Point(1422839.8172443 4405895.5061498)', 'stations_metro')").fetchone() for rst in results : print 'rst= ', rst return str(rst)
mon problème est que j'arrive pas à afficher le resultat retourné dans un textfield créer avec Ext
Code:
new Ext.form.FormPanel({ items : [{ xtype : 'textfield', name : 'text', id : 'text' } })
si j'essaie d'affecter le resultat que me retourne ma fonction dans le textfield avec ce code,
Code:
document.getElementById("text").setAttribute('value',new OpenLayers.Protocol.HTTP({ url : "http://192.192.2.33/carthageos_wsgi/stations_metro/count", format : new OpenLayers.Format.Text({ internalProjection : map.projection, externalProjection : map.displayProjection }) }));
le textfield prend la valeur
[object Object]
des suggestions???
et merci
Hors ligne
#2 Fri 15 October 2010 11:01
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
Bonjour,
Cela me parait normal car new OpenLayers.Protocol.HTTP renvoie un objet. Cette classe renvoie un objet OpenLayers.Protocol.Response (http://dev.openlayers.org/releases/Open … l.Response).
Pour débuguer et trouver la réponse je te propose de faire un console.log(monObjet); avec monObjet = new OpenLayers.Protocol.HTTP({[...])};. Firebug te permettra de voir les méthodes possibles et le "contenu" de cet objet.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 15 October 2010 11:24
- soussou126
- Participant occasionnel
- Date d'inscription: 22 May 2010
- Messages: 21
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
tout d'abord merci pour ta réponse,
si je mets mon code dans une variable globale
Code:
st = new GeoExt.data.FeatureStore({ layer : vecLayer, proxy : new GeoExt.data.ProtocolProxy({ protocol : new OpenLayers.Protocol.HTTP({ url : "http://192.192.2.33/carthageos_wsgi/stations_metro/count", format : new OpenLayers.Format.Text({ internalProjection : map.projection, externalProjection : map.displayProjection }) }) }), autoLoad : true });
et je débugue avec firebug, et j'ai bien un attribut responseText = 52 (qui est le retour de ma fonction)
mais je sais pas comment faire pour afficher cette réponse,
mais je ne sais pas comment mis prendre pour accéder à cette valeur!!
Hors ligne
#4 Fri 15 October 2010 11:28
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
bonjour,
Ceci devrait renvoyer ce que tu veux :
Code:
console.log(st.responseText)
La méthode console.log() ne sert ici que pour renvoyer le contenu de st.responseText vers la console Firebug.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Fri 15 October 2010 11:39
- soussou126
- Participant occasionnel
- Date d'inscription: 22 May 2010
- Messages: 21
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
bonjour,
Ceci devrait renvoyer ce que tu veux :Code:
console.log(st.responseText)La méthode console.log() ne sert ici que pour renvoyer le contenu de st.responseText vers la console Firebug.
Y.
j'ai testé j'ai ma réponse dans la console,
mais si je fait
alert(st.responseText)
l'alert m'affiche
undefined
!!
Hors ligne
#6 Fri 15 October 2010 11:49
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
Bonjour,
Un problème de variable globale/locale ? Sans voir le code je ne peux pas en dire plus.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Fri 15 October 2010 12:01
- soussou126
- Participant occasionnel
- Date d'inscription: 22 May 2010
- Messages: 21
Re: [Mapfish 1.2 et OpenLayers] Python controllers et textfield
le fait que j'ai ma var 'st' qui s'affiche dans le DOM de firebug, ne signifie-t-il pas qu'elle est global???
autre chose: je crois que j'ai mal choisi le type de ma var
st = new GeoExt.data.FeatureStore
si j'ai bien compris (d'après mes recherches sur le net) ce type est utilisé quand la réponse du serveur est ensemble d'enregistrement d'une table, sauf que dans mon cas la réponse est un string!! je devrais peut être changer le type de ma variable!! mais par quel type????
Merci énormément pour ton aide
Dernière modification par soussou126 (Fri 15 October 2010 12:12)
Hors ligne
Pages: 1
- Sujet précédent - [Mapfish 1.2 et OpenLayers] Python controllers et textfield - Sujet suivant