ex) 브라우져 주소창에 http://xxxxxxxx/paramTest.html?test1=a&test2=b 라고 접근했다고 가정.
<script>
// 파라메터 정보가 저장될 오브젝트
// common.js 같은 모든 페이지에서 로딩되는 js 파일에 넣어두면 됨.
var getParam = function(key){
var _parammap = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
_parammap[decode(arguments[1])] = decode(arguments[2]);
});
return _parammap[key];
};
alert("test1 : " + getParam("test1")); // a
</script>
javascript – 주소의 파라미터값 변수로 받기
출처:
http://werty.co.kr/blog/?userid=honggildong&age=21
이런식으로 접속 주소가 발생하였고 클라이언트단에서 위 주소를 기반으로 변수를 받아 인터렉션을 구현할 때 아래 방법을 쓴다.
1
2
3
4
5
6
|
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, " "));
}
|
함수를 추가한 후 아래와 같이 이용해서 값을 받아온다.
1
2
3
|
var uid = getParameterByName('userid');
var age = getParameterByName('age');
|
'[React] Front-End' 카테고리의 다른 글
ASYNC와 DEFER / ECMAScript / SPA / DOM / W3C (0) | 2021.04.07 |
---|---|
[Javascript] POST 로 다중 파라미터 값 보내기 (0) | 2020.06.08 |
[Vanilla Javascript] Events, Events Handler (0) | 2020.02.11 |
[노마드코더: Vanilla Javascript] Array, Object, Function (0) | 2020.02.09 |
JSON (0) | 2020.02.09 |