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

jQuery Discussion :

ajax jquery post [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut ajax jquery post
    Salut,

    Je tente d'utiliser ajax et la fonction jquery: $.ajax mais je reçois l'alerte comme: Error occured

    voici ma fonction que j'appelle au click d'un bouton:
    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
    function getDetails(id) {
    	$.ajax({
    	    type: "post",
    	    url: "getDetails", //your url
    	    data: { id: id } ,
    	    dataType : "json",
    	    contentType: "application/json", 
    	    success: function(data) {
    	        alert('Employee saved successfully'+data);
    	    },
    	    error: function(){
                    //ici est déclenchée l'alert
    	        alert('Error occured');
    	    }
    	});
    ici mon controller spring
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @RequestMapping(value="/getDetails", method=RequestMethod.POST)
        public String getDetails(@RequestBody String id/*, HttpServletResponse response*/) {//Map<String, ? extends Object>
    		MenuService ms = new MenuService();
    		Menu m = ms.get(1);
                    //ça affiche bien le message avec les correctes valeurs
    		System.out.println("testt"+m.getMenuDesc()+"&&&"+id);
    		return m.getMenuDesc();
    		//return Collections.singletonMap("id", m.getMenuDesc());
     
        }
    Je ne comprends pas pourquoi l'erreur?

    Comment renvoyer un tableau de valeurs et comment les réucpérer en cas de succès pour les assigner du genre: document.getElementById('txtDesc').value = xxx;

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    Je reviens avec plus d'infos, tout d'abord j'ai rajouté 2 jar:
    jackson-core-asl-1.9.9.jar
    jackson-mapper-asl-1.9.9.jar

    j'ai modifié mon spring-context.xml:
    Code xml : 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
     
      <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        	<property name="basenames">
    			<list>
    				<value>classpath:locale/message</value>
    			</list>
    		</property>
       		<property name="defaultEncoding" value="UTF-8"/>
    	</bean>
     
     	<bean id="localeResolver"
    		class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
    		<property name="defaultLocale" value="fr" />
    	</bean>
     
    	<mvc:interceptors>       
        	<bean  class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">    
            	<property name="paramName" value="lang" />    
        	</bean>   
    	</mvc:interceptors>
     
      <context:component-scan base-package="com.starterSpring.controller.admin" />
      <mvc:resources mapping="/resources/**"
                     location="/resources/" />
      <mvc:annotation-driven />
      <!-- i added this next 8 lines -->
      <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    	<property name="messageConverters">
    	  <list>
    	    <ref bean="jacksonMessageConverter"/>
    	  </list>
    	</property>
      </bean>
      <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/admin/" />
        <property name="suffix" value=".jsp" />
      </bean>
     
    </beans>

    mon servlet qui maintenant retourne un objet:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @RequestMapping(value="/getDetails", method=RequestMethod.POST)
        public Menu getDetails(@RequestBody String id/*, HttpServletResponse response*/) {//Map<String, ? extends Object>
    		MenuService ms = new MenuService();
    		Menu m = ms.get(1);
    		System.out.println("testt"+m.getMenuDesc()+"&&&"+id);
    		return m;
    		//return Collections.singletonMap("id", m.getMenuDesc());
     
        }

    et ma fonction doPost qui toujours me reourne l'alert error:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function getDetails(id) {
    	$.ajax({
    	    type: "post",
    	    url: "getDetails", //your url
    	    data: { id: id } ,
    	    dataType : "json",
    	    contentType: "application/json", 
    	    success: function(data) {
    	        alert('Employee saved successfully: '+data.menuDesc);
    	    },
    	    error: function(jqXHR, textStatus, errorThrown){  
                   alert(jqXHR.responseText);  
                }  
    }
    l'erreur retournée est : La ressource demandée (/starterSpring/WEB-INF/jsp/admin/getDetails.jsp) n'est pas disponible.
    C'est juste mais comment lui dire que c'est toujours la même page admin/gestionMenu.jsp

    MErci de votre aide parce que j'ai parcouru tout un tas de blog sans trouver pourquoi ça ne fonctionnait pas pour moi

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Par défaut
    C'est bon j'ai trouvé j'avais oublié: @ResponseBody devant le type de retour de ma fonction

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Quel rapport avec javascript ???
    côté client jQuery => http://www.developpez.net/forums/f11...eworks/jquery/

    côté serveur jsp => http://www.developpez.net/forums/f29.../servlets-jsp/

    Merci de poster dans le bon forum
    Vous aurez des réponse plus pertinentes
    et les autres pourons trouvers vos discussions.
    A+JYT

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

Discussions similaires

  1. [MVC3.2/JQuery] $.ajax() ou $.post() avec objets imbriqués
    Par CUCARACHA dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 31/05/2012, 11h32
  2. [AJAX] Envois de valeur en POST
    Par lermit dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/12/2007, 21h27
  3. [jQuery] Méthode jQuery.post
    Par Llaur76 dans le forum jQuery
    Réponses: 1
    Dernier message: 07/12/2007, 15h18
  4. Réponses: 1
    Dernier message: 22/01/2007, 20h33
  5. [AJAX] Methode post remplace + par espace
    Par dgedge dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/07/2006, 09h09

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