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 :

Problème avec Ajax.Updater [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut Problème avec Ajax.Updater
    Bonjour tous le monde !

    Je suis nouvelle et j'ai pas eu le temps de lire tous les règles du forum (je m'en excuse!) ,j'espère que ma question n'a pas été deja posé quelque part (j'ai vérifie ...pas à ma connaissance !)

    enfin bref voila mon problème :

    je travaille en J2EE (Spring2+struts2+ajax)J'utilise "prototype" comme framework afin de pouvoir afficher le résultat de ma requête suivant le paramètre passé en entrée de ma fonction java ,l'idée en fait est d'interroger toutes mes tables de la BDD Oracle !
    tous marche bien avec struts mais je veux le faire avec ajax et j'y arrive pas et ça me donne une "java.lang.NoSuchMethodException" pour ma requête "query" !

    je vous file ma JSP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript" src="js/prototype.js"></script>
    <script type="text/javascript" src="js/contact.js"></script> 
     
    </head>
    <body>
    <p>Contact</p>
    <input type='button' value='Country' onclick="myajax('Country')">
    <input type='button' value='Location' onclick="myajax('Location')">
     
    <div class="list">
    </div>
    </body>
    </html>
    et voila le bout de code Ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function myajax(info)
    {
    var myajax = new Ajax.Updater('list', '/query',{parameters:info}, evalScripts: true }
    			) ;
     
    }
    code java

    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
    public String query(String nomObject) {
     
    		try {
    			this.ListObject = service.execute(nomObject);
     
    			Iterator it = ListObject.iterator();
     
    			while (it.hasNext()) {
    				System.out.println(it.next());
    			}
     
    		}
    		catch (Exception ex) {
    			eLogger.error(ex.getMessage(), ex);
    			return Action.ERROR;
    		}
    		return Action.SUCCESS;
    	}
    je pense que le probleme est par rapport aux paramétres à ma fonction ajax pour désigner la table séléctionné ,ma syntaxe est fausse je crois ;quelqu'un a-t-il une idée ?
    Merci à l'avance pour votre aide !

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Bonjour et bienvenue sur le forum.

    Dans ton code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <input type='button' value='Country' onclick="myajax('Country')">
    <input type='button' value='Location' onclick="myajax('Location')">
     
    <div class="list">
    </div>
    // ...
    function myajax(info)
    {
    var myajax = new Ajax.Updater('list', '/query',{parameters:info}, evalScripts: true }) ;
    }
    Plusieurs remarques :

    Le premier parametre de Ajax.Updater doit être soit un Element au sens prototype soit l'id de cet element. Etant donné que dans ton cas 'list' correspond à la div de classe list, ca ne va pas fonctionner, il faut soit que tu ajoutes à ta div l'id 'list', soit que tu sélectionne ta div autrement. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Ajax.Updater($$(".list").first(), ...
    Pour passer des parametres à la requete ajax, ce que tu fais n'est pas bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type='button' value='Country' onclick="myajax('Country')">
    // ...
    new Ajax.Updater('list', '/query',{parameters:{buttonName:info}}, evalScripts: true }) ;
    Avec cet exemple, tu pourra faire dans java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getParameter("buttonName")
    pour récupérer Country ou Location

    Enfin dernier point,
    '/query' ne correspond pas à une méthode java mais à une URL, quand tu fais de l'ajax, tu n'executes pas directement du code java sur le serveur, tu effectues des requetes HTTP.

  3. #3
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Bonjour

    Merci pour votre reponse !
    ça fonctionne maintenant avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function myajax(info)
    {
    	new Ajax.Updater('list', 'query?info=' + info);
    }
    et en utilisant le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String nomObject = getParameters().get("info")[0];

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

Discussions similaires

  1. [Prototype] Utilisation de Ajax.Updater
    Par Boensy dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 02/06/2009, 09h20
  2. [AJAX] Résultat avec Ajax
    Par incao dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/05/2006, 22h14
  3. Problème avec un update et un champs
    Par kornmuse90 dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/03/2006, 15h55
  4. [AJAX] Ajax en mode synchrone sur Safari
    Par The Blec dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 17h52
  5. [VB6] Problème avec requête Update
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 02/02/2006, 03h40

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