[JavaScript] 자바스크립트 파라미터 + 기호 제거되는 문제해결

2022-09-07


Photo by Casey Horner on Unsplash

 

암호화된 사용자 정보를 파라미터로 넘기는 과정에서 + 기호가 포함되어 있으면, 해당 기호가 공백으로 치환되어 전달되는 경우가 있다 이를 해결하는 방법을 알아보자.


1. 원인

 

아래의 참고링크에서 확인해보면 + 는 쿼리 스트링에서 하나의 의미를 가지는 문자열이기 때문에 이러한 문제가 나타난다고 한다. 비슷한 문자열로는 &를 예로 들 수 있다. 그래서 +를 적절한 다른 문자열로 치환을 해줘야 한다고 한다. 


2. 해결 방법

 

아래와 같이 + 기호가 들어간 문자열을  encodeURIComponent 메소드로 감싸서 파라미터를 전달해주면 + 기호의 생략 없이 전달이 되게 된다.

 

var param = vartest+12314
var encodedURL = "http://example.com/test?var=" + encodeURIComponent(param);

참고 링크 : https://stackoverflow.com/questions/6855624/plus-sign-in-query-string

 

Plus sign in query string

I have a webapp created using C# and asp.net. I placed a parameter value in the querystring with a plus(+) sign. But the plus sign disappear. How can I include the plus sign(+) in the query string

stackoverflow.com


메인 이미지 출처 : Photo by Casey Horner on Unsplash