JQuery Ajax 사용법 정리

JQuery Ajax 사용법에 대해 포스팅하겠습니다.

먼저 Ajax란 Asynchronous Javascript And Xml (비동기식 Javascript And Xml)의 약자로

자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환하는 기능입니다.

 

기본 사용법: JQuery.ajax({Settings})

Settings에 들어가는 옵션들을 살펴보겠습니다.

대표적인 옵션만 기술합니다.

옵션 타입 기본값 설명
url String   HTTP Request 보낼 주소
method String GET HTTP Request 메소드
(GET, POST 등)
data Object or String or Array   요청과 함께 보낼 데이터
dataType String Intelligent Guess (추측)
(xml, json, script, or html)
서버에서 응답받을 데이터타입
async Boolean true 비동기 진행여부
beforeSend Function(jqXHR jqXHR, Object settings)   요청보내기 전 진행할 함수
success (jQuery 3.0↓)
done (jQuery 3.0↑)
Function(anyThing data, String status, jqXHR jqXhr)   요청이 성공했을때 진행할 함수
error (jQuery 3.0↓)
fail (jQuery 3.0↑)
Function(jqXHR jqXHR, String textStatus, STring errorThrown )   요청에서 에러가 발생했을때 진행할 함수
complete (jQuery 3.0↓)
always (jQuery 3.0↑)
Function(jqXHR jqXHR, String textStatus)   요청이 모두 완료되고난후 진행할 함수 (성공/실패 관계없이)

외에도 세부 옵션들은 공식 홈페이지 Documents에서 확인 가능합니다.

 

jQuery.ajax() | jQuery API Documentation

Description: Perform an asynchronous HTTP (Ajax) request. The $.ajax() function underlies all Ajax requests sent by jQuery. It is often unnecessary to directly call this function, as several higher-level alternatives like $.get() and .load() are available

api.jquery.com

 

예제 코드를 한번 보겠습니다.

$.ajax({
    url: "/ajaxRequest.do" // Http 요청보낼 서버Url
    , method: "GET" // http 요청 메소드(GET, POST 등)
    , async: true // 비동기여부
    , data: {
        ID: "A32"
        , NAME: "Aiden"
    }
    , dataType: "json" // 서버에서 응답하여 보내줄 데이터타입
    , beforeSend: function() { // 요청보내기전 실행할 함수
        $("#loading").show();
    }
    , done: function(data, status) { // 요청성공하면 실행될 함수
        console.log(data);
        console.log(status);
    }
    , fail: function(jqXhr, status, errorThrown) { // 요청실패하면 실행될 함수
        alert("실패했습니다. (error : " + errorThrown + " )");
    }
    , always: function(jqXhr, status) { // 성공,실패와 상관없이 항상 실행되는 함수, done/fail 함수 먼저 실행됩니다.
        $("#loading").hide();
    }
});