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

Bibliothèques & Frameworks Discussion :

Aide implementation d'une grid xml/ajax [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai Avatar de Xrris
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Aide implementation d'une grid xml/ajax
    slt

    Après avoir lu les tuto pour faire de l'ajax avec dojo, et après avoir lu comment créer une grid j'aimerais pouvoir créer un table de manière dynamique avec de l'ajax.
    Je veux récupérer le résultat d'un requête ajax au format XML et affichier le contenu dans un grid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            <div dojoType="dojox.data.XmlStore" url="http://127.0.0.1/projetBV/debut_dojo/test.xml"
            jsId="bookStore3" label="title">
     
            </div>
            <div id="grid" style="width: 400px; height: 300px;" dojoType="dojox.grid.DataGrid"
            store="bookStore3" structure="layoutBooks" query="{}" rowsPerPage="40">
    Ce code me permet à partir de données en dure de les afficher dans le grid.

    J'ai un script php qui lit dans la base et me retourne le résultat au format xml , j'aimerais combiner les 2.

    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
     
    function loadDataFromBDbyIB(id) 
    	{
    			//The parameters to pass to xhrPost, the message, and the url to send it to
                //Also, how to handle the return and callbacks.
                var xhrArgs = {
                    url: "http://127.0.0.1/query1.php",
                    postData: "",
                    handleAs: "text",
                    load: function(data) {
                        dojo.byId(id).innerHTML = data;
                    },
                    error: function(error) {
                        //We'll 404 in the demo, but that's okay.  We don't have a 'postIt' service on the
                        //docs server.
                        dojo.byId(id).innerHTML = error;
                    }
                };
                dojo.byId(id).innerHTML = "Message being sent...";
                //Call the asynchronous xhrPost
                var deferred = dojo.xhrPost(xhrArgs);
        }

    Existe-il des éléments dojo pour réaliser ca ?

    Merci

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,
    Bienvenue sur le forum de Dojo. Tu résouds simplement ton problème ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <div dojoType="dojox.data.XmlStore" url="http://127.0.0.1/query1.php" ...>
    Bon dev,

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre à l'essai Avatar de Xrris
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci mais avec ce code :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html dir="ltr">
     
        <head>
            <link rel="stylesheet" type="text/css" href="./dijit/themes/tundra/tundra.css">
            <style type="text/css">
                body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
            </style>
            <style type="text/css">
                @import "dojox/grid/resources/Grid.css";
                @import "dojox/grid/resources/nihiloGrid.css";
                .dojoxGrid table { margin: 0; }
            </style>
    		<script type="text/javascript" src="./dojo/dojo.js" djConfig="parseOnLoad: true">
    		</script>
     
    		<script type="text/javascript">
    			dojo.require("dojox.grid.DataGrid");
    			dojo.require("dojox.data.XmlStore");
     
     
    			var layoutBooks = [
    				{
    				field: "name",
    				name: "name",
    				width: 10,
    				formatter: function(item) {
                                        return item.toString();
    				}
    			},
    			{
    				field: "name2",
    				name: "name2",
    				width: 20,
    				formatter: function(item) {
    					return item.toString();
    				}
    			}];
     
    			//var bookStore3 = dojox.data.XmlStore({url: "http://127.0.0.1/projetBV/debut_dojo/test.xml", rootItem: "personne"});
     
    		</script>
        </head>
     
        <body class="tundra ">
            <div dojoType="dojox.data.XmlStore" url="http://127.0.0.1/test_tab/query1.php"
            jsId="bookStore3" label="title">
     
            </div>
            <div id="grid" style="width: 400px; height: 300px;" dojoType="dojox.grid.DataGrid"
            store="bookStore3" structure="layoutBooks" query="{}" rowsPerPage="40">
            </div>
        </body>
     
     
    </html>
    Et ceci dans la response de "firebug"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <personnes><personne><name>0</name><name2>coucou0</name2></personne><personne><name>1</name><name2>coucou1</name2></personne></personnes>

    Dans le grid j'ai "Une erreur est survenue"

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Cela devrait fonctionner, même si ton paramétrage est basique.
    Ton fichier php envoie-t-il le bon header ( header ("content-type: text/xml");
    );
    et un entête XML ?

    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Membre à l'essai Avatar de Xrris
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci j'ai eu la réponse de pote hier c'était bien ca le problème !!!

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

Discussions similaires

  1. [AJAX] Savoir si une balise XML est vide ?
    Par numew dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2008, 22h15
  2. [AJAX] 2 reponses XML/txt en une seule requete AJAX
    Par seb0634 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/07/2007, 12h45
  3. [AJAX] récupérer contenu d'une balise xml
    Par Braillane dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2007, 08h08
  4. [Structure] Aide sur une structure XML (et le vocabulaire associé)
    Par projetdk40 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 14/02/2007, 10h38
  5. Réponses: 9
    Dernier message: 10/01/2007, 08h31

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