Heim >Web-Frontend >js-Tutorial >Verzögern Sie Ajax -Anruf für x Sekunden
<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>
setTimeout (function () {
$ .ajax ({}, 2000); // 2 Sekunden Verzögerung
In diesem Beispiel wird der AJAX -Aufruf um 2 Sekunden verzögert. Wenn Sie SetTimeOut aufrufen, wird eine eindeutige ID zurückgegeben, mit der das Timeout mit der ClearTimeout -Funktion abgesagt werden kann. So können Sie es tun:
var timeoutId = setTimeout (function () {
$ .ajax ({
// Ajax -Optionen
});
}, 2000); Storniert vor der Ausführung. Wenn die Verzögerung zu lang ist, kann sich Ihre Website langsam und nicht mehr ansprechen. Es ist wichtig, ein Gleichgewicht zwischen der Reduzierung der Serverlast und der Aufrechterhaltung einer reibungslosen Benutzererfahrung zu finden.
Kann ich mehrere AJAX -Aufrufe gleichzeitig verzögern? Jeder SetTimeOut -Anruf gibt eine eindeutige ID zurück, mit der die Zeitlimit bei Bedarf abgesagt werden kann.
Kann ich SetTimeout mit Versprechen verwenden? Dies kann bei der Arbeit mit asynchronen Operationen wie Ajax -Aufrufen nützlich sein.
Das obige ist der detaillierte Inhalt vonVerzögern Sie Ajax -Anruf für x Sekunden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!