본문 바로가기
JavaScript

$.ajax() 메소드

by avvin 2019. 7. 8.

출처 : 코딩의 시작, TCP School ( http://tcpschool.com/ajax/ajax_jquery_ajax )



$.ajax() 메소드


제이쿼리와 Ajax

Ajax를 이용하여 개발을 손쉽게 할 수 있도록 미리 여러 가지 기능을 포함해 놓은 개발 환경을 Ajax 프레임워크라고 합니다.

그중에서도 현재 가장 널리 사용되고 있는 Ajax 프레임워크는 바로 제이쿼리(jQuery)입니다.


$.ajax() 메소드

제이쿼리는 Ajax와 관련된 다양하고도 편리한 메소드를 많이 제공하고 있습니다.

 

그중에서도 $.ajax() 메소드는 모든 제이쿼리 Ajax 메소드의 핵심이 되는 메소드입니다.

$.ajax() 메소드는 HTTP 요청을 만드는 강력하고도 직관적인 방법을 제공합니다.

 

$.ajax() 메소드의 원형은 다음과 같습니다.

원형

$.ajax([옵션])

 

URL 주소는 클라이언트가 HTTP 요청을 보낼 서버의 주소입니다.

옵션은 HTTP 요청을 구성하는 키와 값의 쌍으로 구성되는 헤더의 집합입니다.


예제

$.ajax({

    url: "/examples/media/request_ajax.php"// 클라이언트가 요청을 보낼 서버의 URL 주소

    data: { name: "홍길동" },                // HTTP 요청과 함께 서버로 보낼 데이터

    type"GET",                             // HTTP 요청 방식(GET, POST)

    dataType: "json"                         // 서버에서 보내줄 데이터의 타입

})

// HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨.

.done(function(json) {

    $("<h1>").text(json.title).appendTo("body");

    $("<div class=\"content\">").html(json.html).appendTo("body");

})

// HTTP 요청이 실패하면 오류와 상태에 관한 정보가 fail() 메소드로 전달됨.

.fail(function(xhr, status, errorThrown) {

    $("#text").html("오류가 발생했습니다.<br>")

    .append("오류명: " + errorThrown + "<br>")

    .append("상태: " + status);

})

// HTTP 요청이 성공하거나 실패하는 것에 상관없이 언제나 always() 메소드가 실행됨.

.always(function(xhr, status) {

    $("#text").html("요청이 완료되었습니다!");

});

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html lang="ko">
 
<head>
    <meta charset="UTF-8">
    <title>jQuery Ajax Method</title>
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script>
        $(function() {
            $("#requestBtn").on("click"function() {
                $.ajax("/examples/media/request_ajax.php")
                .done(function() {
                    alert("요청 성공");
                })
                .fail(function() {
                    alert("요청 실패");
                })
                .always(function() {
                    alert("요청 완료");
                });
            });
        });
    </script>
</head>
 
<body>
 
    <h1>$.ajax() 메소드</h1>
    <button id="requestBtn">$.ajax() 메소드 실행</button>
    <p id="text"></p>
    
</body>
 
</html>



request_ajax.php에 HTTP 요청을 구성하는 헤더 집합 소스 ?




'JavaScript' 카테고리의 다른 글

jQuery 달력 위젯  (0) 2019.08.14
정규 표현식 만들기  (0) 2019.07.05
FormData  (0) 2019.07.01
MDN web docs  (0) 2019.06.26
[HTML] div 태그와 span 태그  (0) 2019.06.18