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] Requête qui semble cesser d'être envoyée au serveur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut [AJAX] Requête qui semble cesser d'être envoyée au serveur
    Bonjour,
    Je développe une application web en java. Dans une de mes jsp (assez grosse) j'utilise Ajax pour récupérer certains éléments sans recharger la page.
    Dans le cas présent, lorsque l'utilisateur change un contributeur (contributorid), je veux que le champ langue soit également modifié (languageid). Donc quand on change le contributeur dans une liste, au "onchange", la fonction "setLanguage" suivante est appelée. Voici le 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
    var xhr0;
     
    function setLanguage(contributorid)
    {            
        if (window.XMLHttpRequest) { 
            xhr0 = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) {
            xhr0 = new ActiveXObject("Microsoft.XMLHTTP");
        }          
     
        xhr0.open("GET", 'bookcontributor.do?actionType=SETLANGUAGE&contributorid='+contributorid);                       
        xhr0.onreadystatechange = function() { setNewLanguage(xhr0); };          
        xhr0.send(null);    
    } 
     
    function setNewLanguage(xhr)
    {    
        if(xhr.readyState == 4){           
            newlanguageid = xhr.responseXML.getElementsByTagName('newlanguageid')[0].firstChild.nodeValue;
     
            alert("languageid : "+newlanguageid);   
     
            document.forms[0].elements["languageid"].value=newlanguageid;
        }
    }
    Les 2 premiers appels à cette fonction fonctionnent normalement : la nouvelle langue affichée (newlanguageid) correspond bien au contributeur sélectionné et le "alert" le confirme. Je peux également le vérifier grace aux traces affichées dans la classe appelée (bookcontributor.do?). Mais lors du troisième (??) appel, je n'ai plus de traces même si la langue continue d'être modifiée quand on change le contributeur (le "alert" continue d'être appelé). C'est comme si la requête n'était plus envoyée au serveur (ce qui d'ailleurs se confirme si je change la langue associée au nouveau contributeur directement dans la base de données : la langue qui s'affiche alors n'est pas cette nouvelle langue mais l'ancienne !)
    C'est comme si l'objet xhr était gardé en mémoire et que la réponse envoyée était toujours la même, alors que la requête n'est plus envoyée au serveur.
    Cela est-il possible ?
    J'espère que mon problème est assez clairement expliqué et que quelqu'un pourra m'aider parce que là, je ne vois pas du tout !
    Merci par avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Apparemment, le problème semble venir de la méthode utiliser pour envoyer la requête au serveur : j'ai remplacé GET par POST et ça semble fonctionner...
    Si quelqu'un veut bien m'expliquer pourquoi j'avais ce comportement étrange, ce serait très apprécié.
    Merci par avance.

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

Discussions similaires

  1. onsubmit dynamique qui empêche un formulaire d'être envoyé.
    Par Sergejack dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/12/2007, 15h41
  2. Réponses: 1
    Dernier message: 16/11/2007, 10h28
  3. requête qui peut être mise à jour
    Par liop49 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/08/2006, 11h22
  4. [...] doit utiliser une requête qui peut être mise à jour
    Par requiemforadream dans le forum ASP
    Réponses: 4
    Dernier message: 26/04/2005, 09h12
  5. [Defi] Query SQL qui semble tres simple
    Par Wakko2k dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2004, 10h01

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