IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Requête Ext Ajax request


Sujet :

Ext JS / Sencha

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut Requête Ext Ajax request
    Bonjour

    Je fais un appel ajax pour récupérer une info d'un serveur. Il ne me lance pas la requête ajax. Voici le code et le contenu des variable request et ajax. Pouvez vous me dire ce qu'il se passe? Merci pour votre aide
    Tio

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    	Ext.Ajax.request({
    		url:"http://carto.ecologie.gouv.fr/MEDD/wms.php?service_idx=17W&map=sacarte.map&",
    		params:{VERSION:'1.0.0',
    						SERVICE:'WFS',
    						REQUEST:'GetFeature',
    						TYPENAME:'znieff_de_type_II_en_Haute_Normandie',
    						FILTER:'<Filter><DWithin><PropertyName>Geometry</PropertyName><gml:Point><gml:coordinates>459350,2493650</gml:coordinates></gml:Point><Distance units=\'m\'>1000</Distance></DWithin></Filter>'},
     
    		method:"GET",
    		success:function(result,request) {
    			console.log(result.responseText);
    			},
    		failure:function(result,request) {
    			Ext.Msg.show({title:'Error System',msg: result.responseText , icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK})
    		}
    	});

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    Bonjour,

    en fait dans ton code, tu mes tes parametres GET à la fois dans url et dans param ... il faut tout regrouper dans param:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Ext.Ajax.request({
    		url:"http://carto.ecologie.gouv.fr/MEDD/wms.php",
    		params:{VERSION:'1.0.0',
    		SERVICE:'WFS',
    		REQUEST:'GetFeature',
    		service_idx:'17W',
    		map:'sacarte.map',
    										TYPENAME:'znieff_de_type_II_en_Haute_Normandie',
    						FILTER:'<Filter><DWithin><PropertyName>Geometry</PropertyName><gml:Point><gml:coordinates>459350,2493650</gml:coordinates></gml:Point><Distance units=\'m\'>1000</Distance></DWithin></Filter>'},
     
    		method:"GET",
    		success:function(result,request) {
    			console.log(result.responseText);
    			},
    		failure:function(result,request) {
    			Ext.Msg.show({title:'Error System',msg: result.responseText , icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK})
    		}
    	});

  3. #3
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut
    Bonjour

    Merci pour ta réponse , en effet c'est logique.
    J'ai essayé cela ne fonctionne toujours pas.

    Je te mets l'url de base pour constater le retour.

    Ce qui méthode le plus je ne vois pas l'envoi de l'url dans la console de firebug??
    J'ai essayer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        var store = new Ext.data.Store({
            // load using HTTP
            url: 'http://carto.ecologie.gouv.fr/MEDD/wms.php?service_idx=17W&map=sacarte.map&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=znieff_de_type_II_en_Haute_Normandie&FILTER=<Filter><DWithin><PropertyName>Geometry</PropertyName><gml:Point><gml:coordinates>459350,2493650</gml:coordinates></gml:Point><Distance units='m'>1000</Distance></DWithin></Filter>',
     
            // the return will be XML, so lets set up a reader
            reader: new Ext.data.XmlReader({
                   // records will have an "Item" tag
                   record: 'gml:featureMember',
                   id: 'ms:znieff_de_type_II_en_Haute_Normandie',
                   totalRecords: '@total'
               })
        });
    Mais j'obiens pas plus de résultats;

    Merci de ton aide. Je bloque sur ce problème depuis un moment.
    Tio

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonsoir,

    il suffit de faire une appel de fonction ...

    store.load();

  5. #5
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut
    Décidément, Je n'ai pas plus de réussite.
    Merci de votre aide. Si quelqu'un peut me dépanner cela serait génial.
    Cela me bloque pour la suite.

    Tio

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        // create the Data Store
        var store = new Ext.data.Store({
            // load using HTTP
            url: 'http://carto.ecologie.gouv.fr/MEDD/wms.php?service_idx=17W&map=sacarte.map&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=znieff_de_type_II_en_Haute_Normandie&FILTER=<Filter><DWithin><PropertyName>Geometry</PropertyName><gml:Point><gml:coordinates>459350,2493650</gml:coordinates></gml:Point><Distance units=\'m\'>1000</Distance></DWithin></Filter>',
     
            // the return will be XML, so lets set up a reader
            reader: new Ext.data.XmlReader({
                   // records will have an "Item" tag
                   record: 'ms:znieff_de_type_II_en_Haute_Normandie',
                   id: 'ms:nom_znieII',
                   totalRecords: 'gml:featureMember'
               })
        });
     store.load();

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonsoir ...

    je te laisse un exemple pour le chargement d'un store xml ...
    tu crées un fichier XML, qui se nomme 'TOTO.XML', comme dans l'exemple suivant

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <dataset>
    <row>
    <id>1</id>
    <title>Office Space</title>
    </row>
    <row>
    <id>3</id>
    <title>Super Troopers</title>
    </row>
    //...//
    </dataset>

    ensuite

    ton code js esst de la forme suivante:

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var store = new Ext.data.Store({
    url: 'http://www.yahoo.fr/TOTO.XML',//tu mets l'url du fichier xml
    reader: new Ext.data.XmlReader({
    record:'row',/* le nom de la balise qui se trouve en dessous de la balise dataset dans le fichier xml*/
    id:'id'/* le nom de la balise qui se trouve en dessous de la balise row dans le fichier xml*/
    }, [
    'id',
    'title'])
    });
    alert('juste avant le chargement ! ready !');
    store.load();

    je pense qu'il faut evite les 'ms:' et 'gml:' et mettre un url du fichier xml.
    j'ai mis une alerte juste avant le chargement ...!

    J'espere t avoir aidé,
    et tres bon week end ...
    bonne paques!

  7. #7
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut
    Merci pour le suivi du problème. Ton exemple fonctionne très bien. Parc contre je ne peut pas changer le format du fichier xml, ce n'est pas qu'il le produit?

    au début je pensais faire une requête ajax pour traiter un tableau après un peu galère. Alors j'ai essayé avec xml.reader, mais cela bloque. Tu as l'air de bien connaitre ce framework. Sait tu d'où peut venir le problème?

    Merci Tio

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonjour,

    je n ai pas tres bien compris ton mesage. mais j'ai l'impression que tu souhaite generer un tableau par le serveur puis l envoyer au client. dans ce cas la, la meilleur solution, c'est d'utiliser le jsonstore.

    si tu as des problemes, n hesites pas a me solliciter...
    je te mettrais un exemple ...

  9. #9
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut
    Bonjour

    Cette adresse est un serveur cartographique public et accessible à tous http://carto.ecologie.gouv.fr/MEDD/wms.php?service_idx=17W&map=sacarte.map&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=znieff_de_type_II_en_Haute_Normandie&FILTER=<Filter><DWithin><PropertyName>Geometry</PropertyName><gmloint><gml:coordinates>459350,2493650</gml:coordinates></gmloint><Distance units='m'>1000</Distance></DWithin></Filter>',
    En mettant les bon paramètre, on récupère des informations .

    Je cherche à récupérer ces informations coté serveur pour faire un formulaire ensuite. Si tu clics sur l'url et regarde le fichier source tu verras c'est un fichier xml.

    Je cherche un moyen de récupérer les informations situées dans le balises ms.

    Je tâtonne beaucoup sur la meilleur façon de faire. Soit l'évènement ajax ne se déclenche pas, soit il ne lit pas le fichier....

    Bref j'aurai besoin d'un bon coup de pouce.

    Merci

    Tio En espérant être plus clair.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonjour,

    ce que tu me decrit est un processus de traitement, et par consequent, il serait preferable de le faire du cote du serveur.

    a mon sens pour des raisons de securite, et d implementation, le javascript devrait etre limiter a afficher 'des boutons' ... et envoyer des ordres au serveur.

    concerant ta problematique, je te conseillerais de faire ce traitement en php ou asp...

    le php, est bcp plus familier, donc, pour recuperer le fichier xml, tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contenu = file_get_contents('http://carto.ecologie.gouv.fr/MEDD/wms.php?service_idx=17W&map=sacarte.map&VERSION=1.0.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=znieff_de_type_II_en_Haute_Normandie&FILTER=<Filter><DWithin><PropertyName>Geometry</PropertyName><gmloint><gml:coordinates>459350,2493650</gml:coordinates></gmloint><Distance units='m'>1000</Distance></DWithin></Filter>');
    tu vas avoir le contenu du fichier dans cette variable... $contenu
    alors, il me semble que le caractère ':' n est pas tolérer pour un parseur xml,
    il suffit de les faire un remplacement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $contenu = str_replace(':','_',$contenu);
    enfin 2 possibilités s offrent a toi:
    soit tu utilise un parseur, c'est dans le cas ou tu as besoin de la majorite du document,
    soit tu utilise les expressions rationnelles afin d extraire les informations que tu as besoin.

    voila.
    j espere t avoir aidé ...

    cordialement

  11. #11
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Points : 54
    Points
    54
    Par défaut
    Merci pour clore le post, je suis passée par php.

    Merci takitano

Discussions similaires

  1. Ext.Ajax.request + WaitMsg
    Par Tiolebucheron dans le forum Ext JS / Sencha
    Réponses: 8
    Dernier message: 14/09/2013, 13h44
  2. Ext Ajax request
    Par flagingeenering dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 11/12/2012, 07h55
  3. Réponses: 25
    Dernier message: 31/03/2012, 00h09
  4. Ext.Ajax.request : IE8 OK and FIREFOX/CHROME erreur
    Par locas dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 03/04/2011, 21h01
  5. [Prototype] Ajax.request => Plusieurs requêtes à la suite
    Par Jonathan.b dans le forum Bibliothèques & Frameworks
    Réponses: 17
    Dernier message: 29/11/2007, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo