파크로그

 

이슈

 

JavaScript Ajax 통신의 기존 방식의 코드에서, 크롬환경에서는 이상이 없으나

ie 환경에서 데이터를 get 통신 ( query 입력 값 ) 을 하는 과정에서는 ? (Special Character) 가 전달되었다.

 

 

기존 코드

var surveyInfo = "";

for (var i = 0; i < s.length; i++) {
  surveyInfo = surveyInfo + s[i][0] + ",";
  surveyInfo = surveyInfo + s[i][1] + ",";
}

surveyInfo = surveyInfo.slice(0, -1);

$.ajaxSetup({cache:false});

$.get('save_survey.jsp?surveyinfo='+ surveyInfo, function(data) {
  	console.log(data);
});

surveyInfo 를 가져오는 과정에서, 크롬은 url 이동 시 자동으로 utf-8로 변환해서 이동한다.

그런데 ie는 입력된 한글 문자열 그대로 입력되었다.

 

Chrome : ?surveyInfo=안녕%20하세요%20

> 복사 & 붙여넣기시 유니코드로 변환되어진다.

 

Ie : ?surveyInfo=안녕 하세요 

 

해결

 

JavaScript 에 내장되어있는 변환메소드인 escape를 이용하여

url 이동 시 유니코드로 변환 후 이동하도록 하였다.

 

$.get('save_survey.jsp?surveyinfo='+ escape(surveyInfo), function(data) {
  	console.log(data);
});
profile

파크로그

@파크park

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!