2011-11-05 3 views
3

나는 jQuery를에 코드를 보았다 :더블 아약스 기능?

var jqxhr = $.ajax("example.php") 
    .done(function() { alert("success"); }) 
    .fail(function() { alert("error"); }) 
    .always(function() { alert("complete"); }); 

을하지만, 각 아약스 전화도 콜백을 기능, 예를 들어 있습니다 :

jQuery.ajax({ 
     ... 
     beforeSend: function(xhr) 
     { 

     }, 
     success: function (data, textStatus, jqXHR) 
     { 

     }, 
     error: function(jqXHR, error_textStatus, errorThrown) 
     { 

     }, 
     complete: function (jqXHR, complete_textStatus) 
     { 
     } 
}); 

그래서 차이점은 무엇입니까?

답변

1

성공, 오류 등은 $ .ajax (..)를 호출 할 때 생성 된 지연된 개체를 사용하여 내부적으로 구현됩니다. 따라서 .done, .fail 등의 메소드를 호출하면 동일한 동작을 얻게됩니다.

지연된 개체를 사용할 때의 장점은 사용하려는 추가 기능이 있다는 것입니다. 예를 들어 비동기식 아약스 호출을 여러 번 수행 할 수 있으며 모든 호출이 완료되면 모든 호출이 완료되어야하는 작업을 계속 수행합니다. 아주 멋지다. :)

@ 매트 볼 : 그것에 대해 무례 할 필요가 없습니다. 그건 실제로 당신이 찾아야 할 링크입니다, Royi. 그들은 당신이 알아야 할 것을 말해 줄 것입니다.

+0

답변 해 주실 수 있습니까? –

+0

이처럼 호출을 그룹화하고 모두 완료되면 연속을 얻는 방법 또는 더 기본적인 기능을 보여주는 샘플은 무엇입니까? 네가 모든 조각을 진짜로 가지고있는 것 같아. – Mithon