이안의 평일코딩

[JavaScript] 파라미터 한글깨짐 문제 해결 encodeURI, decodeURI 본문

Front-end/JavaScript

[JavaScript] 파라미터 한글깨짐 문제 해결 encodeURI, decodeURI

이안92 2021. 11. 8. 11:30
반응형

 

 파라미터 한글깨짐 문제 해결

 

encodeURI, encodeURIComponent

 

현재 MobX로 상태관리 중이며 검색핸들러에 이용할 getIphone을 만들어줍니다.

searchInfo에 데이터를 바인딩해두는데 거기서 iphoneName이 event.target으로 입력이되면 encode를 해줍니다.

그리고 인코딩된 입력값을 아래와 같이 보내주고 받아온 정보를 setIphone에 저장해둡니다.

const getIphone = async () => {
  let iphoneSearch = encodeURI(encodeURIComponent(searchInfo.iphoneName));
  let findIphone = await iphoneRepository.getIphone(iphoneSearch);
  setIphone(findIphone);
};

 

decodeURI, decodeURIComponent

 

아래와 같이 decode를 사용하여 URI를 파라미터에 넣어 정상적으로 검색이 가능해진다.

/**
* 아이폰 기종 조회
* @param params
* @param isUser
* @returns {Promise<*>}
*/
getIphone(params){
  let param = params ? decodeURI(decodeURIComponent(params)) : "";
  let url = new URL(constants.API_BASE_URL + "/api/v1/iphone/iphonelist?iphonesearch=" + param);
  return apiHelper.request({ url, method: "GET" });
}
반응형
Comments