1

基本的に、Jade をテンプレート エンジンとして使用する NODEJS アプリと、Express および MySQL データベースを作成しました。

ユーザーがテキストの一部を共有できる新しいページを作成しようとしています。その下にある「Wall」という名前の div が新しいステータスで動的に更新されます。

基本的には、何かを入力して共有し、ページが動的に更新される Facebook に似ているのが理想的です。また、新しい投稿がユーザーの友人から共有されたときにウォール ページを更新することも考えています。ユーザーが共有するすべての更新は、データベースに送信されます。

私は多くの検索を行いましたが、正しい答えを集めることができないようです. JQuery、Ajax、PHP のいずれかを使用するように絞り込みました。

私が構築しているサイトは JS で構築されているため、最適なオプションは何ですか?

私はこれらすべてにかなり慣れていませんが、ユーザーが共有をクリックすると、データベースに更新を保存する JS ファイルが呼び出されると思います。しかし、新しいコンテンツで「壁」を更新するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

使用する...

setTimeout(function(){
  /* update wall here */
}, 1000)

「Wall」バックエンドをポーリングし、コンテンツを更新します。

于 2013-03-19T21:53:03.490 に答える
0

あなたは概念的な質問をしました。そのため、プロジェクトでそれを最適に実装する方法について、さらに調査し、独自の調査を行うために選択できる概念的なオプションのいくつかを説明するために最善を尽くします.

ここに行くには2つの道があります。データベースへのAJAX書き込みが成功すると、独自の壁の更新(UI側で更新/再レンダリングを行う)を行うことができます。これは、AJAXコールバック関数で実装するものです。基本的には、データベースへの書き込み要求 (新しい投稿の送信) は成功を返します。

探索できるオプションの他のブランチ全体は、次のオプションのいずれかを実装して、基本的にサーバー側の変更を「リッスン」し、使用するコールバックとして再レンダリングを反応させることです。

  1. ポーリング- 基本的に X 秒ごとにリクエストを発行して、サーバー側で更新または状態の変更があったかどうかを確認します。

  2. WebSockets - チェックアウトSocket.io。これにより、サーバー側からクライアントにメッセージを「プッシュ」できます。注意として、WebSocket はすべてのブラウザーで普遍的にサポートされているわけではなく、過去の経験から、WebSocket プロトコルはブラウザーのバージョンによっても異なることがわかりました。したがって、普遍的なサポートが必要な場合は、ポーリング方式を使用します.

あなたのプロジェクトで頑張ってください、これが役に立てば幸いです!

于 2013-03-20T03:05:24.057 に答える