DEV/javascript

Javascript URL 및 QueryString 사용하기

석봉 2023. 5. 8. 11:28

Query string이란 무엇일까?

 

" 웹 페이지의 URL에 추가적인 데이터를 전달하는 방법 중 하나,

URL의 끝에 "?" 기호를 사용하고, 그 뒤에 "이름=값" 쌍을 추가하여 사용"

 

웹에서 간단하게 data를 보관하거나 전달하는 경우 자주 사용되나 사용자에게 직접적으로 노출되는 부분이기 때문에 보안적으로 이슈가 있는 데이터는 사용하지 않는것이 좋다.

 

그 전에 window.location 객체를 잠깐 살펴보자.

 

[ window.location properties ]

hash : 주소값에 붙어있는 anchor값 반환
host : URL의 도메인과 포트 반환
hostname : URL의 도메인 반환
href : URL 반환
origin : 프로토콜 + URL의 도메인 + 포트
pathname : URL 경로 반환
port :  서버포트 반환
protocol : 프로토콜 반환
search : URL에 붙은 매개변수 반환(물음표 뒤의 값)

 

[ window.location methods ]

assign(url) : 새로운 주소 이동

reload(true) : 현재 페이지 새로고침

replace(url) : 새로운 주소 이동 (세션 히스토리 제거됨, 뒤로가기 사용 불가)

 

Query String 조작하기

// 예를들어 url = www.ex.com/post?from=sample1 인 경우...

// URLSearchParams 생성
const queryParams = new URLSearchParams(window.location.search);

// "from" queryString 값 가져오기
const from = queryParams.get('from');	// sample1

// "from" queryString 값 수정하기
queryParams.set('from', '수정할값');

// "from" queryString 값 제거
queryParams.delete('from');

 

URL 수정하기 (뒤로가기 생성됨 주의)

history.pushState(null, '', newUrl);