2009-07-28 9 views
2

내 페이지 중 하나에는 약 5 개의 jQuery AJAX 호출이 있으며 페이지가로드되는 즉시 호출됩니다. 나는 각 AJAX 호출을 개별적으로 추적 할 수 있고 그것이 언제 완료되었는지 알 수 있지만 전체적으로 추적 할 수있는 방법이 있습니까? 이렇게하면 마지막 AJAX 호출이 완료되면 UI 변경을 알릴 수 있습니다.jQuery에서 마지막 AJAX 호출이 완료된 시점을 알 수있는 방법은 무엇입니까?

나는 "활성"통화 수를 계속 유지하고 통화가 완료 될 때마다 그 전화 번호를 확인할 수 있다고 생각하지만 더 웅변적인 해결책이 있습니까?

답변

15

세계 ajaxStartajaxStop 이벤트를 확인하십시오. 여기

는 내가 그들을 사용했던 방법은 다음과 같습니다

$('body') 
    // Set up loading animation for requests. 
    .ajaxStart(function() { 
     $(this).addClass('loading'); 
    }) 
    .ajaxStop(function() { 
     $(this).removeClass('loading'); 
    }); 
+0

저에게 적합합니다. –

0

당신은 큐를 사용할 수 있습니다/어떤 기능이 유용되는 디큐 통화 :

http://jqueryfordesigners.com/api-queue-dequeue/

당신은 귀하의 UI 기능을 넣을 수 대기열의 끝.

아래쪽면은 사용자의 기능이 동기가되는 것입니다.

0

ajax 객체는 특히 다음과 같은 메소드가 있습니다. complete() 요청이 완료되면 (성공 및 오류 콜백이 실행 된 후) 실행됩니다.

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: "name=John&location=Boston", 
    complete: function(){ 
     alert("action finished"); 
    } 
}); 
관련 문제