메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

자바스크립트에서 비동기로 ajax로 컨트롤러로 요청을 받아 db에서 값을 꺼내 문자열을 리턴할 경우, 한글 문자열을 리턴했을 때

ajax의 success:function(result) 안에서 result로 값을 받으면 ???? 로 한글이 깨지는 경우가 있다.

이럴 경우에는 컨트롤러에서 produces 부분을 지정해주면 된다.


코드를 보면


먼저, ajax 통신 부분이다. /board/category/getAddr로 요청을 보내고 


   var address = null;

function getAddr(){

    $.ajax({

          type:'post',

          headers:{

              "Content-Type":"application/json"

          },

          async : false, // ajax를 동기화(순서대로) 처리해야하는 경우 true로하거나 기술하지 않으면 비동기로 작동한다.

          url:"/board/category/getAddr?userId=${boardDTO.userId}",

          dataType:"text",

          success : function(result){

              if ( result != null ){

                  console.log("넘어온 값 : " + result);

                  address = result;   

              }

          }

      });

};

컨트롤러 부분이다.
컨트롤러에서 service.getAddr(userId)로 해당 사용자의 주소를 얻어온 뒤 그 주소를 반환하지만 한글로 반환하게 된다.
이 경우, ajax의 success:function(result) 에서 result 가 ????로 깨지는 것을 알 수 있다.

하지만, produces = "application/text;charset=utf8"을 지정해 줄 경우 한글을 인코딩해 보내서 깨지지 않고 처리할 수 있게 된다.



// 한글을 넘기기 때문에 produces 를 기술해서 인코딩을 해서 넘겨주었다. 기술안하면 ajax에서 받았을 때 ???로 깨짐!

    @RequestMapping(value="/board/category/getAddr",method=RequestMethod.POST,produces = "application/text; charset=utf8")

    public @ResponseBody String getAddr(String userId){

        logger.info("주소얻기로 넘어온 아이디 : " + userId);

        String address = service.getAddr(userId);

        logger.info("얻어온 주소 : " + address);

        return address;

    }



  1. 스프링, MySQL, MyBatis 연동 - 데이터 조회하기

    Date2021.05.06 Views793
    Read More
  2. 스프링, MySQL, MyBatis 연동

    Date2021.05.06 Views128
    Read More
  3. Java was started but returned exit code=13 - 이클립스 실행시 에러

    Date2021.03.31 Views152
    Read More
  4. 스프링 프로젝트 생성 후 샘플 코드 한글 깨짐 현상

    Date2021.03.31 Views186
    Read More
  5. 쿠팡 api 프로젝트 / 적용 테스트 (스프링 부트 / 자바 )

    Date2021.03.29 Views567
    Read More
  6. AJAX 통신시 컨트롤러에서 한글 문자열을 리턴해야하는 경우 인코딩 문제 처리

    Date2018.07.04 Views2599
    Read More
  7. 스프링에서 구글맵 연동하기

    Date2018.07.04 Views4599
    Read More
  8. 스프링과 안드로이드 연동1(Html 소스 가져오기)

    Date2018.07.04 Views2676
    Read More
  9. 스프링과 안드로이드 연동2 : 서버에서 안드로이드로 이미지 가져오기(다운)

    Date2018.07.04 Views3319
    Read More
  10. 스프링과 안드로이드 연동3 : ( 서버에서 XML로 반환해 가져오기 )

    Date2018.07.04 Views2896
    Read More
  11. 스프링과 안드로이드 연동4 : (JSON으로 가져오기)

    Date2018.07.04 Views5530
    Read More
  12. 스프링과 안드로이드 연동5 : (Javascript에서 Android 함수 호출하기)

    Date2018.07.04 Views3390
    Read More
  13. JAVA Crawling(크로울링) 기본([펌]http://partnerjun.tistory.com/guestbook)

    Date2018.07.04 Views5110
    Read More
  14. [펌]자바 Crawling(크로울링) 로그인 해 긁어오기

    Date2018.07.04 Views6013
    Read More
  15. [펌]자바 Crawling(크로울링) Ajax로 요청하는 것 긁어오기

    Date2018.07.04 Views2898
    Read More
  16. 쿠키와 세션을 이용한 자동 로그인 처리

    Date2018.07.04 Views8977
    Read More
  17. 스프링 외부 경로 폴더 지정하기

    Date2018.07.04 Views4618
    Read More
  18. play framework + 이클립스 초간단 개발환경 구축법

    Date2016.12.08 Views12427
    Read More
  19. 루씬 기본적인 검색 엔진 - 샘플 예제

    Date2016.12.08 Views7769
    Read More
  20. [패스트캣]1. 시작하기 - 설치

    Date2016.12.08 Views5982
    Read More
Board Pagination Prev 1 2 Next
/ 2

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved