0

現在のプロジェクトで必要なため、AJAX を学習中です。新しい行が MYSQL テーブルに追加されたときにライブで更新したいフィードがあります。私は実際にnode.jsでこれを行いましたが、残念ながらクライアントサーバーはNODEを使用できないため、AJAXで可能かどうかを確認しようとしています.

ご協力ありがとうございました!

4

3 に答える 3

0

クライアントがpollingを介して常にサーバーに接続するか、 cometwebsocketsなどのプッシュ手法を使用する必要があります。そうしないと、クライアントは新しいデータがいつ到着したかを知る方法がありません。

Comet と Websockets は、ユーザー クライアント (接続されたブラウザー) にデータが利用可能になるとすぐに実際にデータを送信するため、プロセスに最もリアルタイムの感覚を与えることができます。

欠点は、プッシュ テクニックと、 HTTP キープ アライブを必要とするコメットが、特に apache などのプロセス ベースのサーバーの場合、サーバーに非常に負担がかかることです。最大接続数はすぐにいっぱいになり、切断されるまで保持されます。チューニング オプションと最新の設定がありますが、最適ではありません。問題の正式名称はc10kであり、最近イベント ベースのサーバーが人気を博している理由の 1 つです。

于 2012-07-11T01:43:50.260 に答える
0

ページが更新されたときに MYSQL または PHP が更新をページにプッシュできる場所を知る方法はありません。

おそらく最良のオプションは、javascript でタイマーを実行し、データベースを定期的にチェックして、更新があるかどうかを確認することです。

var refreshId = setInterval(function() { checkforUpdates(lastIndex) }, 10000);

テーブル インデックスの最後の行を JavaScript 関数に渡すと、関数は PHP に ajax 呼び出しを行い、新しい行をデータベースに照会します。更新が返された場合は、JavaScript を使用してそれらをテーブルに追加します。

更新された行も確認する場合は、少し複雑になります。

于 2012-07-11T01:50:49.847 に答える