2022-09-07
암호화된 사용자 정보를 파라미터로 넘기는 과정에서 + 기호가 포함되어 있으면, 해당 기호가 공백으로 치환되어 전달되는 경우가 있다 이를 해결하는 방법을 알아보자.
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
메인 이미지 출처 : Photo by Casey Horner on Unsplash