ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JavaScript] Ajax란? 비동기서버통신
    Web/JavaScript 2019. 7. 26. 19:52

    JavaScript는 Ecma라는 표준을 따르고 있다.

    - HTML 문서 조작

    - 유효성 검사

    - function은 1급객체

     

    Ajax (Asynchronous JavaScript and XML) 

    - 서버데이터를 가져와서 문서 조작에 사용하는 것을 말한다.

    - 다른 페이지를 참조하는 것

    - html과 자바의 통신을 담당하는 것

    - XMLHttpRequest라는 객체로 서버에 필요한 데이터 요청 가능

    - Text, Xml, HTML

    - 비동기 서버통신이다.

    - 핵심코드

     

    동기 - 요청이 들어오면 순차적으로 실행

    비동기 - 요청을 기다리지 않고 실행하는것

     

    open함수- 요청의 초기화. GET/POST선택

    send함수- post 웹서버 요청처리 (요청 응답시 시간이 지연된다)

    onreadystatechange - 서버응답처리 (요청 ~ 응답 사이의 상태들)

    - readyState

    0 : UNINITIALIZED - 객체만 생성되고 아직 초기화

    1 : LOADING - osend메소드호출 - 파라미터 전달 (요청)

    2 : LOADING - send메소드(파라미터전달) 실행상태

    3 : INTERACTIVE(상호작용) - 데이터 일부를 받은상태, 

    4 : COMPLETED - 데이터를 전부 받은 상태

     

    200: 페이지요청성공

    403: 권한 없음

    404: 페이지 없음

    405: 요청한 메소드(doGet, doPost)가 준비되지 않았음

    500: 서버오류발생

     

    Ajax는 UTF-8을 너무 좋아해~~!!

     

    - XMLHttpRequest(서버통신객체) xhr

    - 자바 클래스로 생각하면된다.

    - 이 안에는 속성과 메소드가 존재한다.

     

    속성

    - readyState 

    - onreadystatechange : 이벤트 속성(readyState 변경되었을때)

    - status: 서버의 상태

     

    메소드 **

    - open('HTTP요청방식', '요청URL','비동기방식') **

    - send('요청URL에게 전달할 데이터') **

     

    <클라이언트>                               <서버>
    - JavaScript                         - JSP,Servlet(자바)
    - 데이터요청                                                       - 데이터 준비, 데이터 출력 out.print(데이터)
              1.open(URL요청과 get방식의 데이터)  
              ---------------------------->

              2.send(post방식의 데이터)  
              ---------------------------->
              
              3.responseText 또는 responseXML
              <----------------------------
               
    ※ 위의 1,2,3번을 실행하기 위해서는 XMLHttpRequest(xhr)객체가 필요!!
    ※ 3번(서버데이터 받기)은 콜백함수에 정의!!
                       ------
                                     이벤트 발생 후 실행하는 함수
                    -----
                    URL요청       

                  

    responseText의 자료형은 String

    responseXML 의 자료형은 Document

    setTimeout

    window.onload

    반응형

    댓글

Designed by Tistory.