평소에 jQuery 로 get, post 를 쓰다가 javascript 만 사용해서 get은 어떻게 사용하는지 궁금해서 찾아봤다.

// jQuery

$.get("/sampleURL", function(response){
	console.log(response);
})

jquery 였다면 이렇게 간단하게 구현가능한데..

 

// Javascript

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){ // request 했을 때
    if(xmlhttp.readyState == XMLHttpRequest.DONE){ // request 가 완료 됐을 때
        if(xmlhttp.status == 200){ // 성공
            data = JSON.parse(xmlhttp.responseText);
            console.log(data); 
        }
        else{ // 실패
            console.log("Error : " + xmlhttp.status);
        }
    }
}

xmlhttp.open("GET", "/sampleURL"); // request 방식과 URL 지정
xmlhttp.send(); // request 한다

 

post 도 비슷하겠지만 자세히는 다음에 찾아봐야겠다.

 

Button이 여러개가 있다.

 

<!-- HTML -->

<button name='btn' id='a'>a</button>
<button name='btn' id='b'>b</button>
<button name='btn' id='c'>c</button>
<button name='btn' id='d'>d</button>
<button name='btn' id='e'>e</button>
<button name='btn' id='f'>f</button>
<button name='btn' id='g'>g</button>
<button name='btn' id='h'>h</button>

html

각 버튼을 눌렀을 때 id를 가져와보자

 

// javascript

// Name 으로 button 들을 가져온다
var btns = document.getElementsByName("btn");

// 가져온 버튼들(NodeList)에 forEach 로 EventListener 를 추가해준다.
btns.forEach(element => element.addEventListener('click', function(e){

    // e는 클릭 이벤트, e.target 으로 클릭된 객체를 가져온다.
    console.log(e.target);
    console.log(e.target.id);
    
    // a 를 눌렀을 때 :
    // <button name="btn" id="a">a</button>
    // a
}))

console

var btns = document.getElementsByName("btn")

btns.forEach(element => element.onclick = function(element){
    console.log(e.target)
    console.log(e.target.id)
})

물론 onclick 으로도 가능하다

input 태그에서 엔터 입력시 input의 값을 얻어오는 방법이다.

 

<input id="input">

<script type="text/javascript">

	// id 로 input 객체를 가져온다.
	var input = document.getElementById("input");
    
	// 가져온 객체에 EventListener 를 추가한다. keypress = 키입력 감지
	input.addEventListener('keypress', function(key){

	// key.key 의 값이 Enter 일 경우 코드 실행
        // key.keyCode == 13 도 동일한 기능을 한다.
        if(key.key == 'Enter'){
			var inputValue = input.value;
            console.log(inputValue);
            }
        })
        
</script>	

 

+ Recent posts