본문 바로가기

Programming/Web

[Javascript] get으로 넘어온 파라미터를 Object 형태로 변환

아래와 같이 데이터가 주소에 포함되어 있을 때,


하나하나 꺼내오려면 상당히 귀찮다(어렵진 않지만...)


http://fimtrus.tistory.com/1?data1=123&data2=1234


화면이 로딩되는 시점에서 아래 function을 넣어주면 


주소에 포함되어 있는 파라미터 값들을 편하게 들고 올 수 있다.



/**
 * @author jonghyun.jeong
 * @since 2014.04.01
 * URL과 함께 넘어온 데이터들을 리턴한다.
 */
function getUrlValue( key ) {
	var valueObject = {}, hash, value;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++) {
    	hash = hashes[i].split('=');
    	valueObject[hash[0]] = hash[1];
    }
    
    if ( key ) {
    	
    	if ( valueObject[key] ) {
			return valueObject[key];
		}
    	
    	return "";
    }
    
    return valueObject;
}



getUrlValue() 처럼 인자 값을 넘기지 않을 경우 주소에 포함되어 있는 모든 데이터를 Object 형태로 리턴하고


getUrlValue("data1") 처럼 인자 값을 넘길 경우, 해당하는 키의 value만 리턴한다. 없을 경우 "" 을 리턴.