jQuery 코드 스 니펫은 x 초 동안 Ajax 호출을 지연시키기위한 jQuery 코드 스 니펫. AJAX를 통해 서버 측에서 데이터를 얻기 전에 작업이 필요한 이벤트에 사용될 수 있습니다.
업데이트 : settimeout () 함수를 사용하여 더 쉬운 방법이 있습니다. 예를 들어 아래를 참조하십시오.
즐기다! :)
<span>var pendingCall = { timeStamp: null, procID: null }; </span> <span>$('li a').click(function (e) { </span> e<span>.preventDefault(); </span> <span>var getUrl = $(this).attr("href"); </span> <span>var timeStamp = Date.now(); </span> <span>var printCall = function () { </span> $<span>.ajax({ </span> <span>url: getUrl, </span> <span>type: "GET", </span> <span>beforeSend: function () { }, </span> <span>error: function (request) { alert(request) }, </span> <span>success: function (data) { </span> <span>if (pendingCall.timeStamp != timeStamp) { return false; } </span> <span>$('#contentdiv').html(data); </span> pendingCall<span>.procID = null; </span> <span>} </span> <span>}); </span> <span>}; </span> <span>if (pendingCall.procID) { </span> <span>clearTimeout(pendingCall.procID) </span> <span>}; </span> <span>//set the time before call 3000 = 3 seconds </span> pendingCall <span>= { timeStamp: timeStamp, procID: setTimeout(printCall, 3000) }; </span><span>});</span>
<span>jQuery(document).ready(function () { </span> <span>setTimeout( "jQuery('#loading_mask').hide();", 1000 ); </span><span>});</span>
}, 2000); // 2 초 지연
지연된 Ajax 호출을 취소 할 수 있습니까?
예, 타임 아웃을 지우면 지연된 Ajax 호출을 취소 할 수 있습니다. settimeout을 호출 할 때 Cleartimeout 함수로 타임 아웃을 취소하는 데 사용할 수있는 고유 ID를 반환합니다. 다음은 다음과 같은 방법입니다.
var timeoutid = settimeout = settimeout (function () { // ajax 옵션
});
}, 2000); } // timeout contrimeout (thistoutw); 실행할 수있는 기회가 있기 전에 취소되었습니다.
ajax 통화를 지연시키는 데 대한 단점이 있습니까?
예, 여러 Settimeout 호출을 사용하여 한 번에 여러 Ajax 호출을 지연시킬 수 있습니다. 각 settimeout 호출은 필요한 경우 타임 아웃을 취소하는 데 사용할 수있는 고유 한 ID를 반환합니다.
다른 JavaScript 함수와 함께 Settimeout을 사용할 수 있습니까?예, 루프에서 Settimeout을 사용하여 여러 Ajax 호출을 지연시킬 수 있습니다. 그러나 Settimeout은 비동기식이라는 점을 명심하십시오. 즉, 루프는 다음 반복으로 이동하기 전에 타임 아웃이 완료 될 때까지 기다리지 않습니다. jQuery를 사용하지 않고 AJAX 호출을 지연시킬 수 있습니까? 예, Fetch API 또는 XMLHTTPRequest 객체와 함께 설정 타임 아웃 기능을 사용하여 jQuery를 사용하지 않고 AJAX 호출을 지연시킬 수 있습니다. 그러나 JQuery는 Ajax 호출을하는 더 간단하고 편리한 방법을 제공합니다.
약속과 함께 Settimeout을 사용할 수 있습니까?위 내용은 지연 ajax는 x 초를 호출합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!