0

jQuery 1.9.1を使用して、ページ上で実行される間隔を設けて、数秒ごとにSQLテーブルをチェックして新しいデータを探します。ページ自体は (事実上) 常にアップされます。

開始時間と終了時間が表示されたテーブルがあります。フィールドは SQL 2012 データベースにあり、フィールドとして定義されてTIMEおり、時刻は 24 時間形式です。終了時刻の例は 15:59:59.999、 、23:59:59.999、および07:59:59.999です。開始時間はそれぞれ08:00:00.00016:00:00.00000:00:00.000です。

これらの終了時刻の後で、ページを更新したい (ページを強制的に再読み込みする) 。その後どれくらいかかるかはまだわかりませんが、3分と仮定してください。ポップアップ ページが表示される可能性もありますが、これは閉じる必要があり、メイン ページが更新または再ロードされたときに再度開くことができます。また、ページはアップしているはずなのに、最初から開いていたとは思えません。

ページ読み込みの一部として、テーブルを再クエリして、新しい終了時刻を取得します。また、ページを閉じて再度開くと、再度クエリが実行され、新しい終了時刻が取得されます。

これを使用するのと実行するのとのどちらが良いですsetIntervalsetTimeout? もしそうなら、どのように?

4

1 に答える 1

1

ページを更新したいだけなので、setTimeout を使いたいと思うでしょう。setInterval は、[interval] 秒ごとに式を実行します。setTimeout は、一定時間後に 1 回実行します。やりたいことを達成するための最良の方法は、バックエンドに時間計算を組み込むことだと思います。つまり、PHP(または使用しているサーバー側の言語)で現在の時刻を取得し、現在の時刻と「終了時刻」の間の時間を計算し(次に3分追加します)、その変数をsetTimeout 関数。ページの読み込み時にこれを行うか、ajax にかかる数秒を気にしない場合は、ページが読み込まれるとすぐに ajax 呼び出しを行うことができます。このようにして、ページがロードされるたびに、「終了時間」までの現在の時間で更新されます。

于 2013-07-10T20:42:05.943 に答える