본문 바로가기

FRONTEND/js

encodeURIComponent()

function userDetail(userId){
	location.href = "/detail?userId=" + userId;
	return false;
}

 

이렇게 파라미터를 controller로 넘길 경우,

#와 같은 문자가 사라진채로 넘어가는 경우가 있다.

 

예) 'userId!@#' -> 'userId!@'

 

 

function userDetail(userId){
	location.href = "/detail?userId=" + encodeURIComponent(userId);
	return false;
}

 

이렇게 넘기면 손실 없이 넘길 수 있다.

 

p.s.

그러나, 위의 예제와 같은 인코딩이 필요한 요소의 경우(아이디, 시퀀스 등) 해당 방법보다는

인코딩하여 넘기고 구현체에서 디코딩(base64) 하는 방법 추천.

 

 


 

 

encodeURIComponent()

함수는 uri 구성요소로 인코딩

'FRONTEND > js' 카테고리의 다른 글

jsp 이전페이지 "uri" 가져오기  (0) 2022.03.23
A 태그(Ahchor) href, onclick 차이  (0) 2022.01.19
jquery-confirm  (0) 2021.10.01
스크롤탑  (0) 2021.09.15
jquery label 선택자  (0) 2021.09.13