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 :

Récuperation de store en envoyant un parametre avec ext.ajax.request


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Par défaut Récuperation de store en envoyant un parametre avec ext.ajax.request
    Bonjour,
    j'ai un problème au moment de récupération d'un store

    j'ai un bouton dont le handler exécute un envoie de paramètre au fichier php avec ext.ajax.request,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $nom=$_POST['nom'];
    $str[] = array(
    	            'nom'=>$nom,
    );
     
     
     
    echo '{"result": ' . json_encode($str) . "}";
    le $nom je l'ai envoyé depuis extjs et il est reçu très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Ext.Ajax.request({
    						url: '../fichier.php', 
    						method: 'POST',
    						params: {
    								 nom: 'badr'   
    								},
    								queryMode : 'local',
    mon probléme je veux recuperer la ligne d'echo et la mets dans une store pour que je puisse la mettre dans un combobox.
    j'au crée un store dans le handler du boutton :
    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
    var st = Ext.data.Store({
    					model: 'column',
    					proxy: new Ext.data.HttpProxy({
                        url: '../fichier.php', 
    					queryMode : 'local',					
                        method: 'POST',
    					type: 'ajax',
    					reader: {
    					type: 'json',
    					root: 'msg'
    					},
    						})
     
    					,autoLoad: true,autoSave:true,
     
    					}).load();
    et rien ne s'affiche dans la combobox.
    merci d'avance,

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    Hello,

    Dans un premier temps essaye avec la valeur 'result' à la place de 'msg' pour le root du reader de ton store.

  3. #3
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Par défaut probleme store
    Bonsoir ,

    merci pour la reponse,
    bon pour le fichier de php ca marche il return un format json,mais je veux creer un store data aprés l'execution de code php et lui attribuer à un autre combobox.

    lorsque je creer le store dans le handler du boutton et je l'attribue au combobox,
    l'erreur suivant s'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Uncaught ReferenceError: col is not defined
    col est le nom du store!!!!

    ou je devrai créer mon store !!

  4. #4
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut
    Bonjour,

    Pourrais tu mettre le code de ta combobox stp ?
    "col" est le nom du store de la combobox ? Si oui, essais avec "st"

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    Si l'on avait ton code entier cela serait plus facile de t'aider.

  6. #6
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Par défaut probléme sur le load su store
    Bonjour,

    Bon je declare le model du store:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Ext.regModel('column', 
    					{
    					fields: ['nom']
    					});
    aprés j'envoie un parametre 'nom' dont la valeur est 'badr' au fichier php avec ajax.request , et ensuite je crée un store .
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    handler : function() 
    				{
    				Ext.Ajax.request({
    						url: 'ListeColumn.php', 
    						method: 'POST',
    						params: {
    								 nom: 'badr'   
    								},
    								queryMode : 'local',
     
    						success: function(response)
    								{
    			 	var text = response.responseText;
    				 	// process server response here
    				 	console.log();
     
    			 	col = Ext.data.JsonStore({
    			               model: 'column',
    			 	proxy:{
     
    		 		url: 'ListeColumn.php', 
    			 	queryMode : 'local',					
    			         method: 'POST',
    				type: 'ajax',
    					reader: {
    					type: 'json',
    					root: 'result'
    				       },
    				 },
    				});
    				Ext.Msg.alert('!!!!!',''+col);
    			  col.load({
    		                  callback: function(operation) {
    					console.log(operation);                     }
    								});
     
    								},
    						failure: function()
    								{
    			 Ext.Msg.alert('not ok');
    								},	
    				});
     
     
     
    				},
    et lorsque je fais col.load(); je reçois l'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Uncaught TypeError: Object #<Object> has no method 'load'
    et lorsque je fait shift+ctr+j pour voir le network : je vois clairement mon fichier php bien executé avec sortie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"result": [{"nom":"badr"}]}
    et voila mon fichier php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
    $nom=$_POST['nom'];
    $str[] = array(
                        'nom'=>$nom,
    );
    // echo'{"success":true}';
    echo '{"result": ' . json_encode($str) . "}";
    ?>
    je pense le probléme de chargement du store;
    merci

  7. #7
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Un détail

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nom=$_POST['nom'];
    $results[] = array('nom'=>$nom);
    //...
    $response = array('result' => $results);
     
    echo json_encode($response);

    A+JYT

  8. #8
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Par défaut
    merci pour l'exemple ça marche bien,

    ce que je veux c'est d'envoyer un variable avec ajax.request (je l'ai envoyé et il est bien reçu par le fichier php).apres le fichier php va returné un format json.
    lorsque je fais alt+shit+j je le vois bien :appelation de fichier php et execution avec le parametre que j'ai envoyé.
    comment récupérer le resultat retourné par le fichier php??
    pour le store je la crée comme ça au debut de fichier js:
    et dans le succes handler du boutton j'envoie le paramètre, et au même temps je veux récupérer la sortie du fichier php dans un store pour que je puisse la donner au comme store du combobox.
    des iddées !!!

  9. #9
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut
    Pour récupérer la réponse d'un moi je fais comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	success: function(result, request)
    		{
    			var jsonData = Ext.util.JSON.decode(result.responseText); 
    			console.info(jsonData);
    		}
    Après il y a peut être mieux mais moi ça fonctionne très bien.

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Par défaut
    Remplace ds mon exemple la ligne :

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cmp.store.load({
        params: {
            nom: 'badr', 
            monParam2: 'maValeur2'
        }
    });

  11. #11
    Membre éclairé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Par défaut
    Bonsoir,

    @ Chaya :
    le fichier s'execute bien mais le resultat n'apparait pas dans le combobox,méme si jai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    store: Ext.create('app.store.column'),
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    store: 'app.store.column',

    @abraxis:
    le fichier php s'execute aussi sans probléme et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.info(jsonData);
    me donne ça:
    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
    17
    18
    19
    Object
    success: Array[1]
    0: Object
    nom: "badr"
    __proto__: Object
    length: 1
    __proto__: Array[0]
    __proto__: Object
    __defineGetter__: function __defineGetter__() { [native code] }
    __defineSetter__: function __defineSetter__() { [native code] }
    __lookupGetter__: function __lookupGetter__() { [native code] }
    __lookupSetter__: function __lookupSetter__() { [native code] }
    constructor: function Object() { [native code] }
    hasOwnProperty: function hasOwnProperty() { [native code] }
    isPrototypeOf: function isPrototypeOf() { [native code] }
    propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
    toLocaleString: function toLocaleString() { [native code] }
    toString: function toString() { [native code] }
    valueOf: function valueOf() { [native code] }
    comment puis je faire pour afficher au combobox "badr" : retourné par jsonData ??

    mercii beaucoup de vos aides

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2013, 10h01
  2. [Prototype] Problème avec le Ajax.request
    Par pwd75 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 09/06/2008, 16h05
  3. envoyer un parametre avec struts 2
    Par mouvma dans le forum Struts 2
    Réponses: 1
    Dernier message: 17/09/2007, 13h12
  4. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27
  5. Envoyer un mailling avec Indy
    Par bidochon dans le forum Web & réseau
    Réponses: 5
    Dernier message: 03/08/2004, 19h29

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