티스토리 뷰

비동기 통신에 대해 배울 때,

나처럼 국비지원으로 학원에서 웹 프로그래밍 과정을 배운 사람이라면 대부분이 AJAX callback 방식을 사용할 것이라고 생각한다.

1
2
3
4
5
6
7
8
9
10
$.ajax({
    url : "url",
    data : data,
    success : function(data) {
        alert("success");
    },
    error : function(xhr, status, error) {
        alert("error");
    }
});
cs

학원에서 흔하게 배우는 AJAX 예제라고 생각한다.

하지만 쓰다보면 소스의 가독성이 떨어지고 나중가면 관리도 잘 안 돼서 눈이 아픈 경험을 할 수 있다.

그래서 jQuery도 발전을 한다.


jQuery 1.5버전 부터는 .done(), .fail() 메소드를 사용할 수 있게 되었다.

(.always()는 1.6에 추가되었다.)


https://api.jquery.com/jQuery.ajax/

(jQuery AJAX 공식 문서에 올라와 있는 내용)

마지막 Deprecation Notice에 보면,

당신의 success, error, complete는 done, fail, always로 대체되었다.

라고 나와있다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
    url : "url",
    data : data
})
    .done (function(data) {
        alert("success");
    })
    .fail (function(xhr, status, error) {
        alert("error");
    })
    .always (function() {
        alert("complete");
    })
 
cs

이런 모습이 된다.


then()은 1.8버전부터 사용할 수 있는데, 삼항연산자와 유사하게 사용가능하다.

1
2
3
4
5
6
7
8
9
10
11
$.ajax({
    url : "url",
    data : data
})
    .then (function(data) {
        alert("success");
    },
    function(xhr, status, error) {
        alert("error");
    });
 
cs


설명이 부족한거 같으면 아래 사이트를 참고하면 이해가 쏙쏙 된다!

https://uwostudy.tistory.com/54







댓글