Programing/ajax
easyUi, ajax 파라미터 서버 한글 깨짐 해결 법
리커니
2015. 10. 21. 15:22
easyUi, ajax 파라미터 서버 한글 깨짐 해결 법
easyUi 를 사용하여 개발을 하던 도중 콤보박스의 한글 값을 서버로 전달하는데
한글이 깨지는 경우가 있었다.
크롬의 경우 이상없이 전달이 되었지만 IE에서만 한글이 깨지는 것이다.
차이점은 ajax 든 easyui의 데이터 요청이든 IE에서는 인코딩 하지 않는 반면
크롬에서는 인코딩을 해서 파라메터를 보내고 있었다.
해결법은 아래와 같이 파라메터를 인코딩 해서 보내주면 된다.
easyui 예)
|
$('#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")