データベースがヒットするたびにdivブロックをリロードする方法は? setInterval 関数を使用してみました。データベース テーブルが更新または挿入されたときにブロックをリロードする必要があります。
3 に答える
ここで純粋にイベントベースの設定を行うことは(AFAIK )不可能です。ページが最初に読み込まれると、それ以上の動的読み込みをクライアント側で設定する必要があり、サーバー自体がこの動作をトリガーすることはできません。
唯一の解決策は、指定された間隔でサーバーをポーリングし、JavaScript
(jQueryの支援の有無にかかわらず)を使用してデータをリロードすることです。
setInterval
当然の選択でしょう。あなたはすでにこれを使用したと言いますが、コードの例を挙げていないので、なぜこれが機能しないのかは明らかではありません。
たとえば、(で)入力しようとしているコンテンツを生成するページがサーバー上にPHP
呼び出された場合、次のようにコンテナを動的に更新できます(注:簡潔にするためにjQueryを想定しています)data_reload.php
div
HTML
// Function that does the actual work of updating the container
function updateContent(jContainer, htmlSource) {
$.get(htmlSource, function(html) {
jContainer.html(html);
});
}
setInterval(function() {
updateContent($("#data"), 'data_reload.php');
}, 3000); // update every 3 seconds
javascriptの関数を使用し、jqueryを使用してまたは一定の時間間隔でsetInterval
divをリロードしますget
load
サーバーページでdivのコンテンツを指定し、get
loadを使用してそこからコンテンツを取得する必要がありますmethod
可能な限り最良のオプションは、JQueryを使用することです。
- データベースが更新/変更されるたびに関数がアクティブになるように、jqueryで関数を作成してみてください。
- 次に、そのIDを使用してdivブロックを呼び出します。そして、show /hiddenを使用してユーザーに表示および非表示にします。
次回、質問を投稿するときに、試したコードを投稿してみてください。デバッグが簡単になります。