2014-01-10 4 views
0

전 초보자입니다. 전체 페이지를 다시로드하지 않고 메뉴 값 (장바구니 내용)을 새로 고칩니다.JQuery/Ajax를 사용하여 세션 값 가져 오기

이것은 내 문제입니다. 경고 체크의 $ {cartSession.getCartContent()} 값은 Undefinied입니다.

도움이 될 수 있다면 서버 측에서 Spring을 사용하고 있습니다.

$(document).ready(function(){ 
      var $form = $("#panierform"); 
      $form.submit(function(){ 
       $.post($(this).attr('action'), $(this).serialize(), function(response){ 

       },'json'); 
       alert("Ajouté avec succès !"); 
       refreshCartValue(); 
       return false; 
      }); 

     }); 

     function refreshCartValue() { 
      alert(${cartSession.getCartContent()}); 
      $("#cartValue").text(""); 
      $("#cartValue").text(${cartSession.getCartContent()}); 
     } 
+2

'$ {cartSession.getCartContent()}'는 서버에서만 실행될 수 있기 때문에 불행히도 할 수 없습니다. 따라서 현재와 함께 원래 반환 된 값만 포함하게됩니다. 페이지. 대신 ajax 요청을 수행 할 때 서버에서 해당 값을 반환 한 다음 해당 ajax 요청의 성공으로 액세스해야합니다. –

+0

정확히 어떻게 응답에서 세션 값을 검색 할 수 있습니까? – GSDa

+0

수 없습니다. 서버는 세션 값을 응답으로 보냅니다. –

답변

2
alert(${cartSession.getCartContent()}); 

당신은 자바 스크립트에서 서버 사이드 자바 메소드를 호출 할 수 없습니다.

자바 스크립트는 서버의 Java 클라이언트 브라우저에서 실행됩니다.

할 수있는 것은 양식 게시 VIA Ajax을 처리하는 것입니다. (성공/실패 플래그) 실제 응답을 반환, 서버에 POST 요청을 확인하고 JQuery와 /에 javscript를 통해 당신이 그것으로 원하는 건 뭐든지 할 : http://www.raistudies.com/spring/spring-mvc/ajax-spring-mvc-3-annonations-jquery/

0

이 주셔서 감사합니다 :

봄에이 간단한 예제를 따라

:

$(document).ready(function(){ 
      var $form = $("#panierform"); 
      $form.submit(function(e){ 
       $.post($(this).attr('action'), $(this).serialize(), function(response){ 
        alert("Ajouté avec succès !"); 
        refreshCartValue(response); 
       },'json'); 
       e.preventDefault(); 
       return false; 
      }); 

     }); 



     function refreshCartValue(response) { 
      $("#cartValue").text(""); 
      $("#cartValue").text(response); 
     } 

하면 컨트롤러위한 responseBody 등의 반환 값이 무엇인지 내가 전에 놓친 e.preventDefault();을 추가해야합니다 : 당신의 반응은 매우 유용한 튜토리얼은 여기에 지금 작동합니까 내 코드입니다 0

@RequestMapping("pages/addToCart") 
    public @ResponseBody String addToCart(HttpSession session, @RequestParam String produitId, @RequestParam Long quantite){ 

     // 
     return String.valueOf(cart.getCartContent()); 
    }