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

JavaScript Discussion :

[AJAX] Traiter la réponse d'un JSP avec Javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [AJAX] Traiter la réponse d'un JSP avec Javascript
    Bonjour,

    J'utilise un Service Web qui fournit du code Javascript pour effectuer les requêtes. Le problème que j'ai est que les codes d'accès doivent être en clair (des chaînes Javascript passées en argument dans l'URL de requête).

    Je me suis dit alors que je pourrais écrire un jsp (mon serveur est Tomcat) qui se chargerait de la requête et contiendrait les codes d'accès "cachés" (càd. que l'utilisateur final ne peut pas les voir en regardant la source).

    Mon problème est le suivant : si j'invoque directement mon jsp (dans la barre d'adresse), j'obtiens exactement le même output que si j'invoque directement l'URL du webservice mais si je mets l'URL de mon jsp dans le javascript à la place de celle du Service Web, je n'ai aucune réponse.

    Donc :
    • HTML -> appelWS.js avec "http://webservice.com?query=1" -> fonctionne !
    • HTML -> appelWS.js avec "https://monserveur.com/appelWS.jsp?query=1" -> appelWS.jsp avec "http://webservice.com?query=1" -> ne fonctionne pas !


    (mon jsp

    Voici la fonction d'appel javascript:
    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
    function callWebServiceBegin(query) {
          var scriptTag = document.getElementById("wsScript");
          var headTag = document.getElementsByTagName("head").item(0);
          var strUrl = "";
     
          // cette strUrl fonctionne : elle appelle directement le web service
          //strUrl = "http://webservice.com?";
          //strUrl += "query=" + escape(query);
          //strUrl += "&account_code=" + escape("xxxx");
          //strUrl += "&license_code=" + escape("yyyy");
          //strUrl += "&callback=callWebServiceEnd"; 
     
          // cette strUrl ne fonctionne pas : elle appelle indirectement le web service
          strUrl = "https://monserveur.com/appelWS.jsp?query=1";
          strUrl += "query=" + escape(query);
          strUrl += "&callback=callWebServiceEnd";
     
          //Make the request
          if (scriptTag) {
              try {
                 headTag.removeChild(scriptTag);
              }
              catch (e) {
                  //Ignore
              }
          }
          scriptTag = document.createElement("script");
          scriptTag.src = strUrl
          scriptTag.type = "text/javascript";
          scriptTag.id = "wsScript";
          headTag.appendChild(scriptTag);
    }
    Après, j'ai une fonction "function callWebServiceEnd(response) {..." qui traite la réponse. Lorsque je donne mon strUrl, je n'y arrive jamais (dans cette fonction). Est-ce que quelqu'un pourrait m'aider ?

    J'ai déjà pensé à plusieurs solutions, sans véritablement trouver de réponse :
    • Est-ce que le fait que je sois en https change quelque chose ? Je ne pense pas puisque les outputs des URLs entrées directement sont les mêmes.
    • Pourquoi la fonction callback n'est pas appelée avec mon URL ?
    • Est-ce qu'il existe une autre solution pour appeler mon URL, récupérer la réponse et la passer "manuellement" à ma fonction callback (sans utiliser une armada lourde, genre servlet, ...) ?


    Un grand merci d'avance :-)
    J.E.

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    J'ai l'impression que le nom de domaine de la page dans laquelle s'execute ton javascript n'est pas celui de l'appel asynchrone ; c'est bien ça ?
    Il n'est pas possible je crois de requêter en AJAX un autre domaine que celui sur lequel s'execute le javascript.

Discussions similaires

  1. Modifier une requete jsp avec javascript
    Par pracede2005 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/11/2009, 11h04
  2. Jsp avec javascript et flash
    Par pepitoluna dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 22/08/2009, 11h51
  3. [AJAX] AJAX traiter la réponse du serveur
    Par dadadoux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/03/2009, 09h36
  4. [MooTools] Traiter une réponse ajax XML avec Mootools
    Par dolu02 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 24/12/2008, 16h58
  5. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 18h55

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