AJAX 란 ?

배병일 ㅣ 2023. 5. 19. 12:05

AJAX란 무엇인가?
  • AJAX란 비동기 자바스크립트와 XML (Asynchronous JavaScript And XML)
  • 서버와 통신하기 위해 XMLHttpRequest 객체를 사용하는 것
  • 페이지 전체를 리프레쉬 하지 않고서도 수행 되는 "비동기성

 

AJAX를 쓰는 이유
  • 비동기성을 통해 사용자의 Event가 있으면 전체 페이지가 아닌 일부분만을 업데이트

 

AJAX의 주요 두가지 특징
   페이지 새로고침 없이 서버에 요청

   서버로부터 데이터를 받고 작업을 수행

 

자바스크립트를 이용해서 비동기식으로 XML을 이용하여 서버와 통신하는 방식
최근에는 XML 보다  JSON을 더 많이 사용한다.
비동기식이란 여러가지 일이 동시적으로 발생한다는 뜻으로,
서버와 통신하는 동안 다른 작업을 할 수 있다는 의미

Ajax의 동작방식
요청 : 브라우저는 서버에 정보를 요청한다.  (브라우저는 Ajax요청을 담당하는 XMLHttpRequest 라는 객체를 구현하고 있다.)

[ 서버의 동작 : 서버는 응답으로 데이터를 전달한다. (XML, JSON) ]

응답 : 브라우저는 콘텐츠를 처리하여 페이지에 추가한다.

 

$.ajax([settings])함수의 구조
    $.ajax ({
      // URL은 필수 요소이므로 반드시 구현해야 하는 Property입니다.
      url : "url", // 요청이 전송될 URL 주소
      type  : "GET", // http 요청 방식 (default: ‘GET’) / [GET, POST, DELETE, PUT]
      async : true,  // 요청 시 동기화 여부. 기본은 비동기(asynchronous) 요청 (default: true)
      cache : true,  // 캐시 여부
      timeout : 3000, // 요청 제한 시간 안에 완료되지 않으면 요청을 취소하거나 error 콜백을 호출.(단위: ms)
      data  : {key : value}, // 요청 시 포함되어질 데이터
      processData : true, // 데이터를 컨텐트 타입에 맞게 변환 여부
      contentType : "application/json", // 요청 컨텐트 타입
      dataType    : "json", // 응답 데이터 형식 (명시하지 않을 경우 자동으로 추측)
      beforeSend  : function () {
        // XHR Header를 포함해서 HTTP Request를 하기전에 호출됩니다.
      },
      success : function(data, status, xhr) {
        // 정상적으로 응답 받았을 경우에는 success 콜백이 호출되게 됩니다.
        // 이 콜백 함수의 파라미터에서는 응답 바디, 응답 코드 그리고 XHR 헤더를 확인할 수 있습니다.
      },
      error : function(xhr, status, error) {
            // 응답을 받지 못하였다거나 정상적인 응답이지만 데이터 형식을 확인할 수 없기 때문에
            // error 콜백이 호출될 수 있습니다.
            // 예를 들어, dataType을 지정해서 응답 받을 데이터 형식을 지정하였지만,
            // 서버에서는 다른 데이터형식으로 응답하면  error 콜백이 호출되게 됩니다.
      },
      complete : function(xhr, status) {
        // success와 error 콜백이 호출된 후에 반드시 호출됩니다.
        // try - catch - finally의 finally 구문과 동일합니다.
      }
    });

 

 

참고 자료 : https://devyj.tistory.com/1