자바 스크립트 마스터북을 읽으면서 헷갈리는 부분을 조금씩 정리하는 글


Ajax란?

  • Asynchrous (Javascript + XML)
    • JS를 이용해 서버 측과 비동기 통신을 실시한 후 응답받은 결과를 DOM 경유로 페이지에 반영하는 구조
  • Ajax의 장점
    • 서버가 처리 중인 상황에서도 클라이언트 측에서 조작을 계속할 수 있다.(비동기 통신)
    • 필요한 부분만을 부분적으로 갱신하기 때문에 페이지 깜박임 현상이 없다.
    • 클라이언트/서버 간의 트래픽 양 최소화 -> 퍼포먼스 향상

Ajax 애플리케이션 구현의 기본

  • XMLHttpRequest 객체를 생성
  • 서버 통신 시의 처리를 정의
    • readyState = 4 모든 응답 데이터 취득 완료
    • status = 200 OK(처리성공)
    • 서버로 부터 응답이 반환되지 않는(readyState 프로퍼티가 4 이외인) 경우 => 통신중 ...이라는 진행 중임을 알리는 메세지
    • 응답은 취득했으나 서버 측에서 무언가 에러가 발생하고 있는(status != 200) 경우 => 에러 메세지
  • 비동기 통신을 개시