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 :

Appel d'un web service qui retourne un JSON en javascript


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut Appel d'un web service qui retourne un JSON en javascript
    Bonjour,

    J'essaye d'appeler un web service avec ajax et voici mon 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
     
    var getJsonData = function ()
    {
        var myAjax = new Ajax.Request(
          'http://fr-d129876:8080/webService//getSession/',
          {
            method: 'get',
            parameters: {},
     
    	 onSuccess: function (xhr)
              {
                if(xhr==null)
                alert("reponse: "+xhr);
                else{alert("LastName : "+xhr['LastName']); alert("MonJSON : "+xhr);}
              }
     
          }
        );
    };
    Normalement le web service me retourne un Json contenant LastName et FirstName. Quand j'affiche le résultat j'ai: LastName: undefined et MonJSON : [object Object]

    Est ce que je recupère bien mon élément?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Il faudrait que tu regardes le contenu de ton objet xhr. Tu peux (via l'outil de développement intégré dans chrome, ou dans firebug par exemple) regarder les requêtes réseaux et voir la réponse JSON avec son contenu.
    Par ce que là : [object Object] indique que tu reçois bien des données, mais on ne sais pas lesquelles..

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Essaye avec un xhr.headerJSON ou xhr.responseText...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut Comment gérer les paramétres avec les webservices
    Merci de votre réponse.

    Je crois que mon json est bien vide.

    Sinon si je veux appeler mon web service en lui passant les paramétres, comment sera la syntaxe?

    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
    var setJsonData = function ()
    {
        var LastName="nom";
        var FirstName="prenom";
        var myAjax = new Ajax.Request(
          'http://fr-d129876:8080/webService//setSession/',
          {
            method: 'post',
            parameters: {LastName,FirstName},
         
    	       
          }
        );
    };
    Merci d'avance

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ce que tu nous montres là c'est la requête HTTP.
    Dans firebug, si tu as sélectionné la bonne requête, tu dois avoir un onglet Réponse (Paramètres - En-têtes - Réponse...), c'est la dedans que s'afficheront les données JSON. C'est ça que tu dois regarder pour voir le contenu.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut
    Dans Réseau: j'ai l'onglet reponse:

    Réponse
    Allow GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
    Content-Length 0
    Date Wed, 29 May 2013 13:10:29 GMT
    Proxy-Connection keep-alive
    Server Apache-Coyote/1.1
    Via 1.0 Proxy_Nantes (squid/3.0.STABLE19)
    X-Cache MISS from Proxy_Nantes
    X-Cache-Lookup MISS from Proxy_Nantes:3128

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Sinon si je veux appeler mon web service en lui passant les paramétres, comment sera la syntaxe?
    Comme indiqué dans la doc de Prototype...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Invité
    Invité(e)
    Par défaut
    Non ça c'est les en-têtes Response, contenu dans l'onglet En-Têtes
    Moi je veux ce qu'il y a dans l'onglet Réponse, à côté de l'onglet En-têtes

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut
    J'ai que l'onglet en tête malheureusement, cela veux dire surement que ça sent pas bon et que ma requête ,n'est pas passée alors?

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu ne tenterais pas de faire une requête en dehors du domaine de ta page par hasard ?
    Renseigne-toi sue la Same Origin Policy...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut
    humm dans chrome, j'ai bien cette indication:

    XMLHttpRequest cannot load http://fr-d129876:8080/webService//getSession/. Origin null is not allowed by Access-Control-Allow-Origin.

    Cela doit venir du same-origin policy alors.
    Mais apparamment ce problème apparait que sur la navigation (file://) mais pas avec http

    Comment gérer ce problème?

    Merci d'avance

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Comment gérer ce problème?
    installe un serveur local (wamp, EasyPHP).

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 48
    Par défaut
    Re Bonjour

    J'ai fait deux manips pour résoudre mon probléme mais rien y fait.
    1- J'ai placé mon script qui lance mes requêtes dans le serveur mais j'ai toujours le problème du cross-domain qui empêche mes requêtes de passer.
    2- J'ai installer aussi wampserver mais ça ne change pas grand chose. Apres vérification avec firebug j'ai l'en tête réponse qui est toujours vide.

    Merci de m'éclairer la dessus

    Cordialement

  14. #14
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    installe un serveur local (wamp, EasyPHP).
    ceci permet juste de t'affranchir du protocol file: et d'avoir un protocole http:.


    Citation Envoyé par Bovino Voir le message
    Tu ne tenterais pas de faire une requête en dehors du domaine de ta page par hasard ?
    Renseigne-toi sue la Same Origin Policy...
    cela reste toujours valable

Discussions similaires

  1. [Web Service] Web service qui appelle un autre web service.
    Par thorgal1612 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/11/2014, 16h20
  2. Appel d'un web service qui attend des data au format JSON
    Par kazh75 dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 31/03/2011, 10h48
  3. Appel d'un web service retournant un objet complexe
    Par yayasam dans le forum Services Web
    Réponses: 5
    Dernier message: 24/03/2011, 11h48
  4. Réponses: 1
    Dernier message: 03/03/2011, 09h36
  5. [Axis2] Web service qui retourne un ArrayList de String ?
    Par SROM34 dans le forum Services Web
    Réponses: 11
    Dernier message: 25/11/2008, 18h12

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