SlideShare a Scribd company logo
1 of 18
Download to read offline
Ajax 통신을 배워보자!
NHN NEXT
ELLEN SEON (선승현)
*본 슬라이드는 NHNNEXT의 윤지수 교수님의 슬라이드를 기본으로 만들었습니다.*
이 탭을 눌렀어요!
새로고침 안했는데, 엄청 빠르게
이 부분만 바뀌었어요!
바뀌어야 할 정보만
받아오니
효율이 좋군!
어떻게 이렇게 하지?
XHR을 이용해요!
XHR

XMLHTTPRequest
: HTTP 요청을 할 수 있는 객체
XHR 어떻게 쓰지?
1.	
  var	
  request	
  =	
  new	
  XMLHttpRequest();	
  //요청을	
  위한	
  객체를	
  만들고

2.	
  request.open(“GET”	
  ,	
  “../response.txt”	
  ,	
  false);	
  //	
  요청	
  형태와	
  데이터를	
  지정하고

3.	
  request.send(null);	
  //요청을	
  보낸다.

4.	
  result	
  =	
  request.responseText;	
  //결과를	
  받는다.

5.	
  result	
  =	
  JSON.parse(result)	
  //결과를	
  파싱한다.
2.	
  request.open(“GET”	
  ,	
  “../response.txt”	
  ,	
  false);	
  //	
  요청	
  형태와	
  데이터를	
  지정하고
2.	
  request.open(“GET”	
  ,	
  “../response.txt”	
  ,	
  false);	
  //	
  요청	
  형태와	
  데이터를	
  지정하고

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   이게 뭘까?
false = 동기적 | 집착
: 왜 답장(응답)이 안오지? 불안해서 아무것도 못하겠어! :(
true = 비동기적 | 쿨함
: 답장(응답) 안오면 다른거 하면서 기다리지 뭐 :)
false = 동기적 | 집착
: 왜 답장(응답)이 안오지? 불안해서 아무것도 못하겠어! :(
true = 비동기적 | 쿨함
: 답장(응답) 안오면 다른거 하면서 기다리지 뭐 :)
; AJAX 통신Asynchronous Javascript And XML
2.	
  request.open(“GET”	
  ,	
  “../response.txt”	
  ,	
  true);	
  //	
  요청	
  형태와	
  데이터를	
  지정하고

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   이렇게 하면 될까?
에러남ㅠㅠㅠㅠㅠ
쿨녀: 다른거 하면서 기다리다가
스마트폰이 ‘카톡’ 소리내면 확인하자
Ajax: 다른거 하면서 기다리다가
콜백함수가 ‘응답왔음’ 하면 처리하자
아,

비동기 콜백함수가 없었구나!
비동기 콜백함수 어떻게 쓰지?
(function()	
  {	
  
1.	
  var	
  request	
  =	
  new	
  XMLHttpRequest();	
  //요청을	
  위한	
  객체를	
  만들고

2.	
  request.open(“GET”	
  ,	
  “../response.txt”	
  ,	
  true);	
  //	
  요청	
  형태와	
  데이터를	
  지정하고

3.	
  request.send(null);	
  //요청을	
  보낸다.	
  
After	
  3.	
  request.onreadystatechange	
  =	
  function()	
  {	
  //readyState값이	
  변경	
  될	
  때마다	
  콜백함수가	
  불린다.

	
  	
  	
  if(request.readyState	
  ===	
  4	
  &&	
  request.status	
  ===	
  200)	
  {}	
  //	
  응답이	
  정상이면

	
  	
  	
  	
  	
  	
  4.	
  result	
  =	
  request.responseText;

	
  	
  	
  	
  	
  	
  5.	
  result	
  =	
  JSON.parse(result)	
  //	
  응답데이터를	
  파싱한다.

	
  	
  	
  }

})();
http://codepen.io/nigayo/pen/pwfzl?editors=001
#Console을 확인하고,
수정해서 정상적으로 동작하게 해보세요 :)
정상이면 아래처럼 나와요!
*본 실습은 NHNNEXT의 윤지수 교수님의 실습을 이용하였습니다.*

More Related Content

Viewers also liked

Chapter 14. json
Chapter 14. jsonChapter 14. json
Chapter 14. jsonkidoki
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Yeon Soo Kim
 
Change my perspective designer&developer
Change my perspective designer&developerChange my perspective designer&developer
Change my perspective designer&developerTae Young Lee
 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template EngineOhgyun Ahn
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기지수 윤
 
6주 javaScript 시작하며
6주  javaScript 시작하며6주  javaScript 시작하며
6주 javaScript 시작하며지수 윤
 
Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development지수 윤
 
처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3성일 한
 
하코사세미나_캔버스 파이그래프 만들기
하코사세미나_캔버스 파이그래프 만들기하코사세미나_캔버스 파이그래프 만들기
하코사세미나_캔버스 파이그래프 만들기정석 양
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4성일 한
 
최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기Hyeonjin Cho
 
퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다정석 양
 
처음배우는 자바스크립트, 제이쿼리 #1
처음배우는 자바스크립트, 제이쿼리 #1처음배우는 자바스크립트, 제이쿼리 #1
처음배우는 자바스크립트, 제이쿼리 #1성일 한
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 

Viewers also liked (20)

Chapter 14. json
Chapter 14. jsonChapter 14. json
Chapter 14. json
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수
 
Change my perspective designer&developer
Change my perspective designer&developerChange my perspective designer&developer
Change my perspective designer&developer
 
10주 ajax
10주 ajax10주 ajax
10주 ajax
 
4-2. ajax
4-2. ajax4-2. ajax
4-2. ajax
 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template Engine
 
jQuery 구조와 기능
jQuery 구조와 기능jQuery 구조와 기능
jQuery 구조와 기능
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기
 
6주 javaScript 시작하며
6주  javaScript 시작하며6주  javaScript 시작하며
6주 javaScript 시작하며
 
Bs camp
Bs campBs camp
Bs camp
 
Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development
 
처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3처음배우는 자바스크립트, 제이쿼리 #3
처음배우는 자바스크립트, 제이쿼리 #3
 
2. template
2. template2. template
2. template
 
하코사세미나_캔버스 파이그래프 만들기
하코사세미나_캔버스 파이그래프 만들기하코사세미나_캔버스 파이그래프 만들기
하코사세미나_캔버스 파이그래프 만들기
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4
 
최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기
 
퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다
 
처음배우는 자바스크립트, 제이쿼리 #1
처음배우는 자바스크립트, 제이쿼리 #1처음배우는 자바스크립트, 제이쿼리 #1
처음배우는 자바스크립트, 제이쿼리 #1
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 

Ajax ellen seon_ss

  • 1. Ajax 통신을 배워보자! NHN NEXT ELLEN SEON (선승현) *본 슬라이드는 NHNNEXT의 윤지수 교수님의 슬라이드를 기본으로 만들었습니다.*
  • 3. 새로고침 안했는데, 엄청 빠르게 이 부분만 바뀌었어요!
  • 8. XHR 어떻게 쓰지? 1.  var  request  =  new  XMLHttpRequest();  //요청을  위한  객체를  만들고
 2.  request.open(“GET”  ,  “../response.txt”  ,  false);  //  요청  형태와  데이터를  지정하고
 3.  request.send(null);  //요청을  보낸다.
 4.  result  =  request.responseText;  //결과를  받는다.
 5.  result  =  JSON.parse(result)  //결과를  파싱한다.
  • 9. 2.  request.open(“GET”  ,  “../response.txt”  ,  false);  //  요청  형태와  데이터를  지정하고
  • 10. 2.  request.open(“GET”  ,  “../response.txt”  ,  false);  //  요청  형태와  데이터를  지정하고
                       이게 뭘까?
  • 11. false = 동기적 | 집착 : 왜 답장(응답)이 안오지? 불안해서 아무것도 못하겠어! :( true = 비동기적 | 쿨함 : 답장(응답) 안오면 다른거 하면서 기다리지 뭐 :)
  • 12. false = 동기적 | 집착 : 왜 답장(응답)이 안오지? 불안해서 아무것도 못하겠어! :( true = 비동기적 | 쿨함 : 답장(응답) 안오면 다른거 하면서 기다리지 뭐 :) ; AJAX 통신Asynchronous Javascript And XML
  • 13. 2.  request.open(“GET”  ,  “../response.txt”  ,  true);  //  요청  형태와  데이터를  지정하고
                       이렇게 하면 될까?
  • 15. 쿨녀: 다른거 하면서 기다리다가 스마트폰이 ‘카톡’ 소리내면 확인하자 Ajax: 다른거 하면서 기다리다가 콜백함수가 ‘응답왔음’ 하면 처리하자
  • 17. 비동기 콜백함수 어떻게 쓰지? (function()  {   1.  var  request  =  new  XMLHttpRequest();  //요청을  위한  객체를  만들고
 2.  request.open(“GET”  ,  “../response.txt”  ,  true);  //  요청  형태와  데이터를  지정하고
 3.  request.send(null);  //요청을  보낸다.   After  3.  request.onreadystatechange  =  function()  {  //readyState값이  변경  될  때마다  콜백함수가  불린다.
      if(request.readyState  ===  4  &&  request.status  ===  200)  {}  //  응답이  정상이면
            4.  result  =  request.responseText;
            5.  result  =  JSON.parse(result)  //  응답데이터를  파싱한다.
      }
 })();
  • 18. http://codepen.io/nigayo/pen/pwfzl?editors=001 #Console을 확인하고, 수정해서 정상적으로 동작하게 해보세요 :) 정상이면 아래처럼 나와요! *본 실습은 NHNNEXT의 윤지수 교수님의 실습을 이용하였습니다.*