메뉴 건너뛰기

?

단축키

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;

    }



List of Articles
번호 제목 날짜 조회 수
38 스프링, MySQL, MyBatis 연동 - 데이터 조회하기 file 2021.05.06 869
37 스프링, MySQL, MyBatis 연동 file 2021.05.06 170
36 Java was started but returned exit code=13 - 이클립스 실행시 에러 file 2021.03.31 236
35 스프링 프로젝트 생성 후 샘플 코드 한글 깨짐 현상 file 2021.03.31 237
34 쿠팡 api 프로젝트 / 적용 테스트 (스프링 부트 / 자바 ) file 2021.03.29 664
» AJAX 통신시 컨트롤러에서 한글 문자열을 리턴해야하는 경우 인코딩 문제 처리 2018.07.04 2664
32 스프링에서 구글맵 연동하기 2018.07.04 4701
31 스프링과 안드로이드 연동1(Html 소스 가져오기) 2018.07.04 2733
30 스프링과 안드로이드 연동2 : 서버에서 안드로이드로 이미지 가져오기(다운) 2018.07.04 3401
29 스프링과 안드로이드 연동3 : ( 서버에서 XML로 반환해 가져오기 ) 2018.07.04 2952
28 스프링과 안드로이드 연동4 : (JSON으로 가져오기) file 2018.07.04 5597
27 스프링과 안드로이드 연동5 : (Javascript에서 Android 함수 호출하기) 2018.07.04 3465
26 JAVA Crawling(크로울링) 기본([펌]http://partnerjun.tistory.com/guestbook) file 2018.07.04 5191
25 [펌]자바 Crawling(크로울링) 로그인 해 긁어오기 file 2018.07.04 6108
24 [펌]자바 Crawling(크로울링) Ajax로 요청하는 것 긁어오기 file 2018.07.04 2968
23 쿠키와 세션을 이용한 자동 로그인 처리 file 2018.07.04 9065
22 스프링 외부 경로 폴더 지정하기 2018.07.04 4690
21 play framework + 이클립스 초간단 개발환경 구축법 2016.12.08 12609
20 루씬 기본적인 검색 엔진 - 샘플 예제 file 2016.12.08 7837
19 [패스트캣]1. 시작하기 - 설치 file 2016.12.08 6044
Board Pagination Prev 1 2 Next
/ 2

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved