Programing/ajax

easyUi, ajax 파라미터 서버 한글 깨짐 해결 법

리커니 2015. 10. 21.
반응형

 

easyUi, ajax 파라미터 서버 한글 깨짐 해결 법

 

easyUi 를 사용하여 개발을 하던 도중 콤보박스의 한글 값을 서버로 전달하는데

한글이 깨지는 경우가 있었다.

 

크롬의 경우 이상없이 전달이 되었지만 IE에서만 한글이 깨지는 것이다.

 

차이점은 ajax 든 easyui의 데이터 요청이든 IE에서는 인코딩 하지 않는 반면

크롬에서는 인코딩을 해서 파라메터를 보내고 있었다.

 

해결법은 아래와 같이 파라메터를 인코딩 해서 보내주면 된다.

 

easyui 예)

1
2
3
 $('#table1').datagrid({
  url : encodeURI("${ctx }/timedayplanstatistics/getTdpsSearch.do?searchCondition="+searchCondition+"&startDay="+startDay+"&endDay="+endDay)
 });
cs

 

ajax 예)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$.ajax({
   type : 'POST',  
   dataType : 'json'
   data: encodeURI(dataParam),
   url : '${ctx }/timedayplanstatistics/excelDownload.do',  
   success : function(returnData) {
    if(returnData.resultCode==200){
     alert("D:/배차미준수.xls 로 저장되었습니다.");
    }else if(returnData.resultCode==300){
     alert("엑셀 데이터 저장에 실패하였습니다.");
    };
   },error:function(e){
    if(e.status==300){
     alert("엑셀 데이터 저장에 실패하였습니다.");
    };
   }
  }); 
cs

 

 - 서버단에서는 한글이 깨지지 않지만 JSP 에서 한글이 깨질경우

controller RequestMapping 을 수정해 준다.

 

기존코드

@RequestMapping("/list/getList.do")

수정코드

 @RequestMapping(value="/list/getList.do", produces="text/plain;charset=UTF-8")

 

반응형

댓글

💲 추천 글