프리어스
1k
2019-05-15 22:55:35
6
344

ajax잘쓰시는분들ㅠㅠ


ㅠㅠ 자바 스프링 jsp구조에서

제가원하는건 디비에서 데이터들을 비동기식으로 가져와서 페이지 리로딩없이 값을

jsp에다가 뿌려주고싶은데요


var allData = "test1=1&test2=2";

   $.ajax({

    type : "POST",//GET

    dataType : 'text',//dataType: "json",

    data : allData,

    url : "/SpringMVC01/game/ajax",

    success : function(data) {

     alert(data);

    }

   });

위 로직에서 마지막 data부분에다가

컨트롤러에서 데이터를 return을 해주는게 가능한가요?

 디비로부터 데이터를 꺼내서 return 해주는데 그게 jsp로직의

data 저 부분에다가  꽂아주는게 가능한가요..?ㅜㅜ

그럴려면 컨트롤러에서 무엇을 리턴해주어야하나요?json형식의?무언가?그런 로직참고할만한거 있을까요..?그러니깐 일반 map객체 같은걸 리턴하는게 아니라 순수 json형식의 텍스트를 jsp로 넘겨줘야하는건가요?


0
0
  • 답변 6

  • zepinos
    18k
    2019-05-15 23:03:26 작성 2019-05-15 23:19:20 수정됨

    success 의 함수에 오는 data 가 원하는 리턴값입니다. 그리고 js 의 표준 자료형인 Json 으로 보낼 경우 data.id 이런 식으로 직접 접근도 가능하죠.


    다시 돌아가, 자바와 통신하는거 같은데 응답으로 헤더에 application/json 와 같이 지정하고 Json 문장으로 보내주면 되는데 직접 Json 으로 한땀한땀 출력헤도 되고 jackson 이나 gson 등으로 Map<String, Object> 형태의 값을 Json 문자열로 치환한 뒤 본문으로 보내도 되고...Spring 에서 지원하는 @RespnseBody 을 이용해 Map<String, Object> 형태로 retern 한 값을 자동으로 MessageConvertor 가 변환하게 하는 방법 등...무궁무진합니다.

    1
  • 코딩하는그리즈만
    114
    2019-05-15 23:23:35
    0
  • 륜디아
    1k
    2019-05-16 09:46:53

     success : function(data) {

    ajax통신 성공시 class에서 넘어오는 리턴 값이 data로 들어옵니다.

    리턴값의 형태는 원하시는 형태 뭐든 넘겨주시면 되구요

    리턴값이 json이든 어떤 형태든 어떤 방법으로 받아서 사용할지는 개발자가 정합니다.

    0
  • 프리어스
    1k
    2019-05-16 12:43:53 작성 2019-05-16 12:44:01 수정됨

    륜디아 헐 그러면 컨트롤러에서 그냥 맵이든 string이든 int든 아무거나 리턴해줘도 data에 꽂힌다는건가요..?

    0
  • 프리어스
    1k
    2019-05-16 12:45:48
    그리고 답변 모든분들감사합니다ㅠㅠ
    0
  • bluepope
    65
    2019-05-17 17:42:56

    dataType은 반환형태를 지정하는거라 json 으로 하면 json 형태로 받고 html 로 하면 html 형태로 받을 수 있습니다.

    값만 가져온다면 json 형태로 가져오는게 좋고, 페이지 일괄로 다시 그려주고 싶다면 html 로 가져와서

    $("#con1").html(data); 형태로도 집어넣을 수 있어요

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.