Front-End/JavaScript | jQuery | AJAX

09. 제이쿼리(jQuery) 비동기 방식 연동

Yerin Thea Yoo 2026. 2. 17. 00:54

웹 페이지는 새로고침 없이 서버와 데이터를 주고받을 수 있다.

이 방식이 바로 AJAX다.

 

1. AJAX

1) AJAX란?

AJAX(Asynchronous JavaScript And XML)는 페이지를 새로고침하지 않고 서버와 데이터를 주고 받는 기술이다.

 

기존 방식

  • 요청 → 전체 페이지 새로고침 → 응답

AJAX 방식

  • 요청 → 데이터만 응답 → 화면 일부만 변경

즉, 비동기 통신 방식이다.

 

2. AJAX 관련 메서드

jQuery는 AJAX를 간단하게 사용할 수 있는 메서드를 제공한다.

 

1) AJAX 관련 메서드들

① $.ajax()

가장 기본이 되는 메서드

$.ajax({
  url: "data.json",
  type: "GET",
  dataType: "json",
  success: function(data) {
    console.log(data);
  },
  error: function(error) {
    console.log("에러 발생");
  }
});

옵션 설명

옵션 설명
url 요청 주소
type GET / POST
data 서버로 보낼 데이터
dataType 응답 데이터 형식
success 성공 시 실행
error 실패 시 실행

 

② $.get()

$.get("data.json", function(data) {
  console.log(data);
});

GET 요청 전용

 

③ $.post()

$.post("server.php", { name: "John" }, function(data) {
  console.log(data);
});

POST 요청 전용

 

④ $.getJSON()

$.getJSON("data.json", function(data) {
  console.log(data);
});

JSON 데이터 전용

 

3. AJAX로 JSON 데이터 바인딩하기

JSON은 가장 많이 사용하는 데이터 형식이다.

[
  {"name": "Tom", "age": 20},
  {"name": "Jane", "age": 25}
]

바인딩 예시

$.getJSON("data.json", function(data) {
  let output = "";

  $.each(data, function(index, item) {
    output += "<p>" + item.name + " - " + item.age + "</p>";
  });

  $("#result").html(output);
});
  • $.each() → 반복 처리
  • html() → 화면 출력

 

4. AJAX로 XML 데이터 바인딩하기

XML도 지원 가능하다.

<people>
  <person>
    <name>Tom</name>
    <age>20</age>
  </person>
</people>

XML 바인딩 예시

$.ajax({
  url: "data.xml",
  dataType: "xml",
  success: function(data) {
    $(data).find("person").each(function() {
      let name = $(this).find("name").text();
      let age = $(this).find("age").text();
      $("#result").append("<p>" + name + " - " + age + "</p>");
    });
  }
});

 

5. 자바스크립트의 보안 정책과 외부 데이터 바인딩

브라우저에는 Same-Origin-Policy(동일 출처 정책)가 있다.

즉,

  • 다른 도메인
  • 다른 포트
  • 다른 프로토콜

에서 직접 데이터를 요청하면 차단된다.

 

① CORS(Cross-Origin Resource Sharing)

서버에서 허용해야 외부 요청이 가능하다.

응답 헤더에 아래 코드 명시

Access-Control-Allow-Origin: *

또는 특정 도메인 지정

 

② JSONP(구버전 방식)

CORS 이전에는 JSONP를 사용했다.

$.ajax({
  url: "https://example.com/data",
  dataType: "jsonp"
});

현재는 거의 사용되지 않는다.