-4

一定時間後にJavaScriptを使用してページを更新できることを知っています。

<html>
<head>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
//   -->
</script>
</head>
<body onload="JavaScript:timedRefresh(5000);">
</body>
</html>

データベースに新しいフィールドが追加/更新されたら、「F5」の代わりにリアルタイムでデータを表示するためにページをリロードすることは可能ですか?

4

3 に答える 3

0

挿入トリガーと更新トリガーをセットアップして、アプリケーションでコールバックを実行させるイベントを送信できます。その後、アプリケーションは、登録された JS コールバック関数を呼び出すことができます。ここで説明を見ることができますhttps://stackoverflow.com/a/812803/1418005

于 2013-03-27T18:08:30.373 に答える
0

UPDATE、INSERT、および DELETE で MySQL トリガーを介して通知を呼び出す

これはほとんどのデータベースで機能し、何かが変更された場合 (フィールドが更新され、顧客にすぐに通知する必要がある場合など) に、サーバーから送信されたイベントをブラウザーに直接送信するために使用できます。

次のようにイベント トリガーをブラウザに直接送信するDatabase Triggersを使用します。これは、リアルタイムの結果のためにリアルタイムで発生します。Server-Sent Event Notifications

于 2013-03-28T03:59:48.260 に答える
-1

一定の時間が経過したらページを更新しないでください。ユーザーにとってかなり面倒です。setInterval を使用して別のリクエストをサーバーに送信し、ページを動的に更新する必要があります。

http://www.w3schools.com/jsref/met_win_setinterval.asp

setInterval(fn, 5000);

function fn() {
  alert('???');
}

応答の編集: データベース トリガー イベントを使用して挿入イベントをトリガーし、クライアントに読み取りを通知するか、ポーリング メカニズムを使用することができます - (setTimeout/setInterval) を使用して 60 秒ごとに db をクエリします。これは、jQuery ajax またはその他の XHR メカニズムを使用して実行できます。

例:

$.ajax({
  type: 'GET',
  url: 'server.php/GetPageData' // or GetPageUpdate
  data: {},
  success: function(data) {

  }
});
于 2013-03-27T17:48:17.683 に答える