삽질의 현장/- Javascript와 HTML

[삽잡이::jQuery] ajax의 error, success 그리고 complete

shovelman 2016. 7. 8. 22:12



불금입니다.

그래요 불금이에요.

그런데, 어느 순간부터 그냥 집돌이가 되고 싶었어요.


불타는 금요일에 불타게 공부해봅시다!




예전에 ajax에 대해서 공부한 기억이 있습니다.

(참고_ ajax가 뭐니? 축구팀이니?)


ajax call을 하게 되면 비동기식으로 http 요청을 수행합니다.

Server가 받아서 처리하고 결과를 보내주겠지요.


Server에서 보낸 결과에 대한 응답에 따라

Client에서는 처리할 준비를 해야합니다.


우리는 크게 3가지의 statement를 통해 

결과에 대한 처리를 할 수 있습니다.

(물론, 더 많아요...)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
    type : 'POST',
    url : sUrl,
    data : data,
    error : function(error) {
        alert("Error!");
    },
    success : function(data) {
        alert("success!");
    },
    complete : function() {
        alert("complete!");    
    }
});
cs



오늘은 그의 연장선!


errorsuccess 그리고 complete에 대해서 알아보겠습니다.


사실... 뭐 별거 없습니다.

Client에서 Server단으로 요청하는 형식의 ajax에서는

언제 결과가 Client로 올지 확신할 수 없습니다.


ajax의 a 자체가 asynchronous

즉, 비동기 처리이니깐 말입니다.


아무튼... Client는 

백날 Server에 응답을 기다릴 수 없습니다.


그렇기에 Callback 형식으로 

Server로부터의 응답을 기다리게 됩니다.


Server가 응답을 해주지요.



나이스~ 



그러면 이제 Client에서는 처리를 해줘야합니다.


 


요청이 성공일 때 호출되는 Callback 함수입니다.


이와 반대로 



Error의 경우 요청결과가 실패일 경우 

호출되는 Callback 함수입니다.



마지막으로 Complete라는 녀석은 말입니다....




complete는 C/C++ 언어로 따지면

finally라고 이해하셔도 좋을 것 같습니다.


error나 success Callback 함수가 수행된 후에 실행되는 함수입니다.



자~ 아주 간단하게 이해해봤으니

즐겁게 코딩한번 해봅시다~


굳~