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

AJAX Discussion :

Méthode open de XMLHttpRequest


Sujet :

AJAX

  1. #1
    Membre confirmé Avatar de kululu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Par défaut Méthode open de XMLHttpRequest
    Bonjour,

    Je suis débutant en AJAX et j'ai besoin de votre aide. J'ai cherché et je n'ai pas trouvé de réponse à mon problème.
    J'implémente une application web JEE:

    Dans ma fonction Ajax je récupère un fichier XML en faisant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xhttp.open("GET", "exemple/test.xml"+"?" + Math.random(), true)
    xhttp est une instance de XMLHttpRequest.

    Ainsi lorsque je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlfile = xhttp.responseXML;
    je récupère mon fichier xml jusque là rien d'anormal.

    J'ai envie alors de remplacer "exemple/test.xml" par une variable. Donc dans AJAX je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xhttp.open("GET", xhttp.responseText+"?" + Math.random(), true)
    Sur ma Servlet, dans ma méthode doGet je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.getWriter().write(xmlUri);
    Et cela ne marche pas!
    Ma question : Y'a t-il une solution pour rentre dynamique la variable uri de la méthode "open"?

    Merci pour votre aide.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    Bonjour,
    pas tout bien compris ce que tu essaies de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function getData( url){
       // ..
       xhttp.open("GET", url+"?" + Math.random(), true);
       //...
    }
    l'url est passée en paramètre et peut donc être modifiée ailleurs dans le code, voire même dans la fonction si on ne la passe pas en paramètre.

  3. #3
    Membre confirmé Avatar de kululu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Par défaut
    Merci pour la réponse.

    J'avais un problème car dans la même fonction je pensais que je pouvais stocker deux objets avec les méthodes xhttp.responseXML et xhttp.responseText. En gros xhttp.responseXML récupérait mon fichier xml passé dans l'URI et xhttp.responseText récupérait les infos passées dans ma servlet par la méthode response.getWriter().write().
    J'ai même essayé d'imbriquer une fonction ajax dans cette même fonction et de récupérer l'uri en dehors de cette fonction ajax, impossible, j'ai lu que c'était normal car ajax est asynchrone et que la variable était disponible que dans sa fonction ajax... Le problème majeur était que l'uri est connue que par la servlet... Bref.

    Finalement j'ai résolu le problème en mettant une variable globale.
    Une autre fonction accède à ma servlet pour récupérer l'URI et l'envoie au client qui affecte à la variable globale le lien qui est utilisé dans la fonction open. J'ai lu qu'une variable globale n'était pas propre dans un fichier js, mais ça marche.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/08/2008, 15h24
  2. ERREUR:la méthode open de l'objet recordset a échoué
    Par ashash dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/07/2007, 13h06
  3. [AJAX] Permission refusée d'utiliser la méthode open
    Par DaSoul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/11/2006, 06h34
  4. méthode Open : temps de réponse
    Par olivierlsf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/11/2005, 14h32
  5. [ADO] Méthode open échoue
    Par Odulo dans le forum Access
    Réponses: 3
    Dernier message: 03/10/2005, 08h24

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