IT/부스트코스

부스트코스 웹앱개발 -2 AJAX

은세고화 2020. 4. 22. 22:34
반응형
function ajax() {
   var oReq = new XMLHttpRequest();
	
  oReq.addEventListener("load", function() {
    console.log(this.responseText);
  });
	
   oReq.open("GET", "./json.txt");
   oReq.send();
}

ajax의 기본 코드다. 설명하자면

xmlhttprequest로 ajax객체를 만든다.

그리고 addeventlistener는 이벤트큐로 보내지고

open과 send가 실행된 후 이벤트큐가 실행된다.

 

ajax는 기본적으로 비동기라서 밑에 코드가 다 실행된 후 이벤트큐가 실행된다.

여기서 this.responseText를 해부하자면 this는 이벤트리스너를 가리킨다.

 

즉 load가 실행된 후 이벤트리스너가 넘겨오는 것 중에 responseText를 뽑아서 콘솔창에 띄운다.

이렇게 하면 responseText는 string타입으로 오게된다. 이것은 큰 문제다.

string으로 오면 객체를 활용할 수 없기 때문이다. reponstText.name[1]라던지 객체문법을 사용할 수 없어서

저 값을 이용할 수가 없다. 그렇기 때문에 변환해줘야한다.

 

그게바로 JSON!

 

 

어렵게 생각할 것 없다. 그저 저 string값을 우리가 주물럭할 수 있는 객체타입 즉 object로 변환하는 과정을 거치면 된다.

var jsonobj = JSON.parese("this.responseText")코드를 이벤트리스터에 넣으면 ajax는 값을 object로 받는다.

 

크롬개발자 도구

network 패널을 접속하면 ajax, js 등 통신이 잘 되는지 클라이언트에서 확인할 수 있다.

status의 상태코드와 타입, 파일크기와 시간을 확인할 수 있고

css나 ajax파일만 따로 불러서 조회할 수 있다. 영어라고 쫄지말고 해석하려들자!

반응형