[JQUERY] jQuery가 Ajax 요청이 보류중인 경우 어떻게 알 수 있습니까?
JQUERYjQuery가 Ajax 요청이 보류중인 경우 어떻게 알 수 있습니까?
해결법
-
1.AjaxStart와 AjaxStop을 사용하여 요청이 활성화 된시기를 추적 할 수 있습니다.
AjaxStart와 AjaxStop을 사용하여 요청이 활성화 된시기를 추적 할 수 있습니다.
-
2.$ .Active 활성 Ajax 요청 수를 반환합니다.
$ .Active 활성 Ajax 요청 수를 반환합니다.
더 많은 정보가 있습니다
-
3.
$(function () { function checkPendingRequest() { if ($.active > 0) { window.setTimeout(checkPendingRequest, 1000); //Mostrar peticiones pendientes ejemplo: $("#control").val("Peticiones pendientes" + $.active); } else { alert("No hay peticiones pendientes"); } }; window.setTimeout(checkPendingRequest, 1000); });
-
4.$ .ajax () 함수는 xmlhttpRequest 객체를 반환합니다. 제출 단추의 "OnClick"이벤트에서 액세스 할 수있는 변수에 저장하십시오. 제출 된 클릭이 처리되면 XMLHTTPRequest 변수가 있는지 확인하십시오.
$ .ajax () 함수는 xmlhttpRequest 객체를 반환합니다. 제출 단추의 "OnClick"이벤트에서 액세스 할 수있는 변수에 저장하십시오. 제출 된 클릭이 처리되면 XMLHTTPRequest 변수가 있는지 확인하십시오.
1) NULL, 아직 요청이 없어지지 않았 음을 의미합니다.
2) readyState 값이 4 (로드)된다는 것입니다. 즉, 요청이 전송되고 성공적으로 반환되었음을 의미합니다.
이러한 경우 중 하나에서 true를 반환하고 제출을 계속할 수 있습니다. 그렇지 않으면 FALSE를 반환하여 제출을 차단하고 사용자에게 제출물이 작동하지 않은 이유를 사용자에게 알려주십시오. :)
-
5.요청이 활성화되면 요청을 중단하기 위해 $ .ajax.abort () 메소드를 사용해야합니다. 이 약속 객체는 ReadyState 속성을 사용하여 요청이 활성인지 여부를 확인합니다.
요청이 활성화되면 요청을 중단하기 위해 $ .ajax.abort () 메소드를 사용해야합니다. 이 약속 객체는 ReadyState 속성을 사용하여 요청이 활성인지 여부를 확인합니다.
HTML.
<h3>Cancel Ajax Request on Demand</h3> <div id="test"></div> <input type="button" id="btnCancel" value="Click to Cancel the Ajax Request" />
JS 코드
//Initial Message var ajaxRequestVariable; $("#test").html("Please wait while request is being processed.."); //Event handler for Cancel Button $("#btnCancel").on("click", function(){ if (ajaxRequestVariable !== undefined) if (ajaxRequestVariable.readyState > 0 && ajaxRequestVariable.readyState < 4) { ajaxRequestVariable.abort(); $("#test").html("Ajax Request Cancelled."); } }); //Ajax Process Starts ajaxRequestVariable = $.ajax({ method: "POST", url: '/echo/json/', contentType: "application/json", cache: false, dataType: "json", data: { json: JSON.encode({ data: [ {"prop1":"prop1Value"}, {"prop1":"prop2Value"} ] }), delay: 11 }, success: function (response) { $("#test").show(); $("#test").html("Request is completed"); }, error: function (error) { }, complete: function () { } });
from https://stackoverflow.com/questions/1822913/how-do-i-know-if-jquery-has-an-ajax-request-pending by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 마우스 클릭을 완전히 비활성화하는 방법 (0) | 2020.11.01 |
---|---|
[JQUERY] DOM 요소에서 추가 / 제거되는 요소를 탐지하는 방법은 무엇입니까? (0) | 2020.11.01 |
[JQUERY] jQuery Ajax 요청 Ajax 요청 내부의 요청 (0) | 2020.11.01 |
[JQUERY] jQuery에서 "this"내부 요소를 선택하는 방법은 무엇입니까? (0) | 2020.11.01 |
[JQUERY] jQuery 데이터 속성 값으로 요소를 찾습니다 (0) | 2020.11.01 |