진스
URL 파라미터 값 가져오기 (?뒤에값을 이용해 =뒤에 값을 출력) 본문
728x90
[JavaScript] URL 파라미터 값 가져오기 (feat. location.search / getParameterByName)
- URL 파라미터 값 가져오기 - URL상에 보이는 파라미터나 location.href를 이용하여 이동할때 보내는 파라미터 값을 스크립트로 가져와서 사용해 보도록하자. 기본적으로 자바스크립트 내장 함수인 l
mine-it-record.tistory.com
http://192.168.0.103:8080/publish/EVRY_1530?evtState=winner
Object.values(this.$route.query) //{evtState: 'winner'}
this.$route.query.evtState //winner
this.$route.query.evtState //[winner]
1. 정규식 표현을 이용한 함수.
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var patId = getParameterByName('category'); // 1060192
2. 모든 파라미터를 객체 형식으로 가져오는 함수
function get_query(){
var url = document.location.href;
var qs = url.substring(url.indexOf('?') + 1).split('&');
for(var i = 0, result = {}; i < qs.length; i++){
qs[i] = qs[i].split('=');
result[qs[i][0]] = decodeURIComponent(qs[i][1]);
}
return result;
}
var result = get_query();
//result
{
category: "1060192",
}
활용
http://192.168.0.103:8080/publish/EVRY_1530?evtState=winner
function getParamName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
const _eventState = getParamName('evtState');
if(_eventState=='winner'){
this.eventBtnUse = true;
this.eventEnd = true;
this.chcheck.completeDay = 30;
for(let i=0;i < this.chcheck.dateDD.length;i++){
this.chcheck.dateDD[i].complete = true;
}
}
728x90
'JavaScript' 카테고리의 다른 글
배열 중복 제거하기, 중복 개수 구하기 (0) | 2022.06.19 |
---|---|
얕은복사 , 깊은 복사 (0) | 2022.06.14 |
논리 연산자 || / && / ?? / ?. (or, and, 옵셔널 체이닝,Nullish coalescing) (0) | 2022.06.02 |
Class (0) | 2022.05.19 |
상속, 프로토타입 (prototype) (0) | 2022.05.19 |
Comments