[解決済み] AJAXリクエストを定期的に発生させるには?
2022-08-22 07:28:09
質問
<meta http-equiv="Refresh" Content="5">
このスクリプトは、5秒ごとにページを再読み込みまたは更新する。しかし、私はそれをjQueryとAJAXコールを使用して行いたいと思います。それは可能ですか?
どのように解決するのですか?
他の人が指摘しているように、setInterval と setTimeout はトリックを実行します。私は、Paul Irish によるこの素晴らしいビデオから学んだ、もう少し高度なテクニックを強調したいと思います。 http://paulirish.com/2010/10-things-i-learned-from-the-jquery-source/
繰り返しの間隔よりも長くかかる可能性のある定期的なタスク (低速回線での HTTP リクエストなど) では、setInterval()
. 最初のリクエストが完了しないまま次のリクエストを開始すると、複数のリクエストが共有リソースを消費し、お互いを飢えさせるという事態に陥る可能性があります。最後のリクエストが完了するまで次のリクエストをスケジュールするのを待つことで、この問題を避けることができます。
// Use a named immediately-invoked function expression.
(function worker() {
$.get('ajax/test.html', function(data) {
// Now that we've completed the request schedule the next one.
$('.result').html(data);
setTimeout(worker, 5000);
});
})();
単純化するために、私はスケジューリングに成功コールバックを使いました。この欠点は、1つのリクエストが失敗すると更新が止まってしまうことです。これを避けるために、代わりにcompleteコールバックを使用することができます。
(function worker() {
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
},
complete: function() {
// Schedule the next request when the current one's complete
setTimeout(worker, 5000);
}
});
})();
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] どうすればjQueryに非同期ではなく、同期のAjaxリクエストを実行させることができますか?
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] GoogleのホストされたjQueryを使用する最良の方法、しかしGoogleの私のホストされたライブラリにフォールバックすることは失敗します。
-
[解決済み] jQuery UIダイアログのクローズボタンを削除するには?
-
[解決済み] jQueryを使って「Please Wait, Loading...」というアニメーションを作成するにはどうすればよいですか?
-
[解決済み] jQuery UI DatePicker - 日付フォーマットの変更
-
[解決済み] jQueryを使用してテキストボックスの値を取得するには?
-
[解決済み] jQueryの検証:デフォルトのエラーメッセージを変更する
-
[解決済み] jQuery: outer html() [重複]。
-
[解決済み】jQuery:keyPress Backspaceが発射されない?
-
[解決済み] jQueryで選択されたオプションのインデックスを取得する
-
[解決済み] jQuery append() - 追記された要素を返す