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

jQuery Discussion :

UI Autocomplete parse XML


Sujet :

jQuery

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut UI Autocomplete parse XML
    Bonjour,

    J'aimerais utiliser UI Autocomplete. j'ai essayé la démo http://jqueryui.com/demos/autocomplete/xml.html pour récupérer les valeurs à partir d'un xml et ça marche.
    voilà le code source :
    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
    <script>
        $(function() {
            function log( message ) {
                $( "<div/>" ).text( message ).prependTo( "#log" );
                $( "#log" ).attr( "scrollTop", 0 );
            }
     
            $.ajax({
                url: "london.xml",
                dataType: "xml",
                success: function( xmlResponse ) {
                    var data = $( "geoname", xmlResponse ).map(function() {
                        return {
                            value: $( "name", this ).text() + ", " +
                                ( $.trim( $( "countryName", this ).text() ) || "(unknown country)" ),
                            id: $( "geonameId", this ).text()
                        };
                    }).get();
                    $( "#birds" ).autocomplete({
                        source: data,
                        minLength: 0,
                        select: function( event, ui ) {
                            log( ui.item ?
                                "Selected: " + ui.item.value + ", geonameId: " + ui.item.id :
                                "Nothing selected, input was " + this.value );
                        }
                    });
                }
            });
        });
        </script>
    maintenant mon soucis, c'est que ma source de données, est une jsp qui génère un flux xml. et pas un fichier .xml
    donc j'ai remplacé : london.xml par london.jsp mais ça ne marche pas.

    c'est une jsp qui devrait recevoir en paramètre la ou les lettres tapées, et renvoyer un flux xml comme résultat. ce flux xml devrait être parsé ensuite par jquery et proposer les données en autocompletion.

    est ce que quelqu'un a une idée sur comment résoudre ce problème?

    merci d'avance

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    Première question : est-ce que si vous faite un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.isXMLDoc(xmlResponse);
    cela vous renvoie-t-il bien true avec votre page JSP?

    la page JSP que vous appelez à la place du document XML donné vous renvoie bien un flux XML ayant la structure :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <geonames style="MEDIUM">
    <totalResultsCount>6987</totalResultsCount>
    <geoname>
    <name>London</name>
    <lat>51.5084152563931</lat>
    <lng>-0.125532746315002</lng>
    <geonameId>2643743</geonameId>
    <countryCode>GB</countryCode>
    <countryName>United Kingdom</countryName>
    <fcl>P</fcl>
    <fcode>PPLC</fcode>
    </geoname>
    </geonames>

    ?

    Dans l'idéal, il faudrait changer le Content-Type de votre page web, à savoir qu'en PHP, il est possible de faire :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type:application/xml; charset=utf-8");

    En JSP, je ne sais pas mais une méthode similaire doit exister, voire côté Javascript, bien dire que la réponse attendue est du XML.

    Si non, poster le XML renvoyé par votre page JSP pour y voir un peu plus clair...
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Bonjour,

    Première question : est-ce que si vous faite un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.isXMLDoc(xmlResponse);
    cela vous renvoie-t-il bien true avec votre page JSP?

    la page JSP que vous appelez à la place du document XML donné vous renvoie bien un flux XML ayant la structure :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <geonames style="MEDIUM">
    <totalResultsCount>6987</totalResultsCount>
    <geoname>
    <name>London</name>
    <lat>51.5084152563931</lat>
    <lng>-0.125532746315002</lng>
    <geonameId>2643743</geonameId>
    <countryCode>GB</countryCode>
    <countryName>United Kingdom</countryName>
    <fcl>P</fcl>
    <fcode>PPLC</fcode>
    </geoname>
    </geonames>

    ?

    Dans l'idéal, il faudrait changer le Content-Type de votre page web, à savoir qu'en PHP, il est possible de faire :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type:application/xml; charset=utf-8");

    En JSP, je ne sais pas mais une méthode similaire doit exister, voire côté Javascript, bien dire que la réponse attendue est du XML.

    Si non, poster le XML renvoyé par votre page JSP pour y voir un peu plus clair...
    Bonjour,

    D'abord merci pour votre réponse.

    En fait ma jsp actuelle ne contient pas de code dynamique. dans un premier temps j'ai pris le fichier XML suggest.xml que j'ai tout simplement renommé en suggest.jsp donc je suppose que ça génère bien un flux XML.

    Sinon, où est ce que je peux mettre : $.isXMLDoc(xmlResponse); pour m'assurer qu'il s'agit bien d'un flux XML ?

    Merci encore

  4. #4
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Je n'ai pas bien compris votre manipulation, mais pour le $.isXmlDoc, il faut le mettre en première instruction de la fonction success.
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    Je n'ai pas bien compris votre manipulation, mais pour le $.isXmlDoc, il faut le mettre en première instruction de la fonction success.
    Bonjour,

    En fait le contenu de mon XML je l'ai mis sur une page jsp. donc en l'exécutant on voit bien le résultat comme le fichier XML.

    merci d'avance pr l'aide

Discussions similaires

  1. Choix de parsing XML
    Par soeursourire dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 16/02/2006, 09h38
  2. [XML] [EXPAT] Parsing XML et tableau global
    Par GLDavid dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/02/2006, 12h31
  3. [DOM] Probleme de parsing Xml en java
    Par bolivari dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 25/01/2006, 19h42
  4. parsing xml en francais
    Par ouioui2000 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/10/2005, 17h03
  5. [JSP] Parsing XML avec JDOM
    Par benben13 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 26/08/2005, 17h19

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