0

Ajax (JQuery) を使用して、動的な情報で満たされるページを作成したいと考えています。情報は、他の URL で実行する必要があるさまざまな GET から取得されます。そのためにSinatra + JQueryを使用しますが、私のWEB経験はほとんどゼロであり、それを正しく行う方法がわかりません。このための要件は次のとおりです。

  • GET が完了するたびに、新しい情報行がページに表示されます。
  • GET を完了できなかった場合、デフォルトの情報がページに表示されます。

これまでの私の考えは、次のようなことをすることです:

  • コントローラーがスレッド内で各 GET を実行するようにします。
  • スレッドが終了するたびに、成功するかどうかに関係なく、ビューに結果を通知し、部分的なレンダリングを行います。
  • 必要な数のパーシャルを用意します (必要な GET ごとに)
  • ページを初めてロードするときに、デフォルトの情報を入力し、AJAX を介して更新し、成功した GET 応答を返します。

これは正しいアプローチとは思えないので、すでに同様のことを行っているか、これについてより多くの経験を持っている人に助けを求めています.

4

1 に答える 1

1

get('/'){}デフォルトのメッセージ (またはその他の GET ルート) を保持する単純なルートから始めます。次に、デフォルト ルートに表示する他の GET ルートを用意します。Sinatra では、リクエストが xhr-request であるかどうかを確認できますrequest.xhr?。xhr リクエストがある場合は、json 値をビューに返します。それ以外の場合は、リクエストを拒否するか、適切な html でビューをレンダリングします。これはあなたのシナトラ バックエンドにあります。ビューでは、JQuery またはその他の JS ライブラリまたはプレーン JS を使用して、非同期データ要求を処理できます。JQueryの関数を使用してajax、ルートからデータを要求し、それらを DOM に追加できます。それはそれと同じくらい簡単です:)

ここで、JQuery サイトで ajax リクエストを作成する方法と、既存の DOM にデータを追加する方法を調査する必要があります。それだけです。

于 2012-06-13T14:00:43.850 に答える