<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>
AJAXコールの遅延は、いくつかのシナリオで有益です。たとえば、ユーザーが文字を入力するたびにAJAXコールをトリガーする検索機能がある場合、サーバーに大きな負荷が発生する可能性があります。遅延を導入することにより、ユーザーがタイピングを停止してサーバーの負荷を削減した後にのみAjaxコールが行われるようにします。また、不必要な読み込み時間を防ぎ、最も関連性の高い結果が表示されるようにすることにより、ユーザーエクスペリエンスを改善できます。この機能により、AJAXコールが作成される前に、ミリ秒単位で遅延を指定できます。基本的な例は次のとおりです。
> // ajax options
});
}、2000); // 2秒の遅延
この例では、Ajaxコールは2秒遅れます。 Settimeoutを呼び出すと、ClearTimeout関数でタイムアウトをキャンセルするために使用できる一意のIDを返します。これができる方法は次のとおりです。実行する前にキャンセルされます。
AJAXコールを遅らせることに欠点はありますか?
AJAXコールを遅らせると、サーバーのパフォーマンスとユーザーエクスペリエンスが向上する可能性がありますが、必ずしも最良のソリューションではありません。遅延が長すぎると、ウェブサイトがゆっくりとゆっくりと反応しないようにすることができます。サーバーの負荷を減らすこととスムーズなユーザーエクスペリエンスの維持とのバランスを見つけることが重要です。
AJAXコールの最適な遅延は、サーバーの負荷、AJAXコールの性質、ユーザーの期待など、いくつかの要因に依存します。良い出発点は、数百ミリ秒の遅延を設定してから、パフォーマンスとユーザーのフィードバックに基づいて調整することです。
以上がx秒のajax呼び出しを遅らせますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。