728x90
JavaScript 코드를 따로 정리하려고 js 파일을 만들었는데
<%= request.getContextPath %>가 사용이 안 될지는 몰랐습니다.
그래서 다른 방법을 알아보는 데 사용하고 싶을 만큼 한눈에 와닿는 건 찾지 못했습니다.
결국 직접 만들었는데 이것도 지저분하긴 합니다. 그래도 저 같은 사람이 있을까 봐 공유합니다.
아래 MDN 사이트의 Location 자료를 보고 origin과 pathname 속성을 사용했습니다.
https://developer.mozilla.org/ko/docs/Web/API/Location
http/https에서 origin 속성을 사용하는 경우에는 도메인을 포함해 포트번호까지 문자열로 반환합니다.
pathname의 경우 도메인 이후 URL주소를 문자열로 반환합니다.
http://localhost:8080/controller/developer/userList.do
전체 URL 경로가 위와 같다면 origin과 pathname의 반환 값은 아래와 같습니다.
var pathname = window.location.pathname;
/controller/developer/userList.do
var origin = window.location.origin;
http://localhost:8080
이와 같은 결과 값을 가지고 저는 <%= request.getContextPath %>와 같은 값을 적용하기 위해
js파일 상단에 아래와 같은 변수를 설정해줬습니다.
스플릿 했기 때문에 양쪽에 "/"를 붙여주고 인덱스 1번에 있는 값을 가운데 넣습니다.
const pathname = "/" + window.location.pathname.split("/")[1] + "/";
const origin = window.location.origin;
const contextPath = origin + pathname;
그 값은 아래와 같습니다.
http://localhost:8080/controller/
728x90
'JavaScript' 카테고리의 다른 글
jQuery ajax의 processData, contentType, cache 속성 (0) | 2022.08.06 |
---|