[JQUERY] 모든 AJAX 호출이 완료되면 어떻게해야합니다
JQUERY모든 AJAX 호출이 완료되면 어떻게해야합니다
해결법
-
1.가장 쉬운 방법은 .ajaxstop () 이벤트 핸들러를 사용하는 것입니다.
가장 쉬운 방법은 .ajaxstop () 이벤트 핸들러를 사용하는 것입니다.
$(document).ajaxStop(function() { // place code to be executed on completion of last outstanding ajax call here });
AJAX 호출이 여전히 활성 상태인지 수동으로 감지 할 수도 있습니다.
활성 Ajax 연결 수를 포함하는 변수를 만듭니다.
var activeAjaxConnections = 0;
새로운 Ajax 연결을 열지 않도록하기 변수를 사용하십시오
$.ajax({ beforeSend: function(xhr) { activeAjaxConnections++; }, url (...)
성공 부분에서 해당 변수가 0으로 똑같이 확인하십시오 (그렇다면 마지막 연결이 완료 되었음)
success: function(html){ activeAjaxConnections--; $('#result_'+rowNum).empty().append(html); $('#coda_'+rowNum).removeClass("loading"); $('#coda_'+rowNum).addClass("loader"); if (0 == activeAjaxConnections) { // this was the last Ajax connection, do the thing } }, error: function(xhr, errDesc, exception) { activeAjaxConnections--; if (0 == activeAjaxConnections) { // this was the last Ajax connection, do the thing } }
보시다시피, 오류로 돌아 가기를 확인했습니다.
-
2.깔끔한 솔루션을 사용하는 것입니다.
깔끔한 솔루션을 사용하는 것입니다.
$("body").ajaxStop(function() { //Your code });
자세한 내용은 jQuery를 확인하십시오. http://api.jquery.com/ajaxstop/에서 .AJAXSTOP 기능
-
3.아마도:
아마도:
jQuery.active == 0
도난당한 :
http://artsy.github.com/blog/2012/02/03/reliably-testing-asynchronous-ui-w-slash-rspec-and-capybara/
StackOverflow에 대한 추가 정보 :
jquery.active 기능
-
4.단순히 사용하는 것만으로 만드는 것은 어떻습니까?
단순히 사용하는 것만으로 만드는 것은 어떻습니까?
success: function(html){ if(html.success == true ){ $('#result_'+rowNum).empty().append(html); $('#coda_'+rowNum).removeClass("loading"); $('#coda_'+rowNum).addClass("loader"); } }
from https://stackoverflow.com/questions/287188/how-to-know-when-all-ajax-calls-are-complete by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery와 함께 다운로드 링크 뒤에있는 파일 크기 찾기 (0) | 2020.10.30 |
---|---|
[JQUERY] JavaScript의 객체와 같은 배열 (0) | 2020.10.30 |
[JQUERY] jQuery Validator 및 Ajax를 사용하는 사용자 지정 규칙 (0) | 2020.10.30 |
[JQUERY] jQuery는 양식을 제출 한 다음 기존 DIV에서 결과를 표시합니다. (0) | 2020.10.30 |
[JQUERY] 오류 : 액세스 제어 허용 헤더에서는 요청 헤더 필드 콘텐츠 형식이 허용되지 않습니다. (0) | 2020.10.30 |