최근 작업 중 로그인 할때 전해주는 리다이렉트 주소(RedirectURL)가 짤리는 현상이 있었습니다. 문제는 주소에 포함된 & 같은 특수 문자 때문이었습니다. 이를 해결하기 위해서는 주소를 인코딩 해주어야 합니다. 자바스크립트에서는 이를 수행해주는 함수를 제공하고 있습니다.


예로 http://localhost:11526/View?PageID=1&UserID=2 같은 주소가 있다고 하면, &이후의 주소를 인식하지 못하고, http://localhost:11526/View?PageID=1 처럼 짤리게 됩니다. 이를 해결하기 위해서 자바스크립트의 encodeURIComponent 함수를 이용하여 인코딩 해주면, http%3A%2F%2Flocalhost%3A11526%2FView%3FPageID%3D1%26UserID%3D2 형태로 변환해주며, 주소 짤림 문제도 없어집니다.


// 현재 주소를 인코딩 하여 대입 해준다
$(location).attr('href', '@Href("~/Account/Login?returnUrl=")' + encodeURIComponent(location.href));




+ Recent posts