1

何がベストプラクティスと見なされるのか疑問に思っていました。ドロップダウン選択ウィジェットがあるとしましょう。ページがサーバーから提供されるときにコンテンツを事前にロードする必要がありますか?それともページがロードされたら、コンテンツを取得して入力するために AJAX 要求を行う必要がありますか?

空でロードし、AJAX呼び出しを発行してコンテンツを取得するというアイデアが好きです。しかし、その結果、ページの読み込み時間が遅くなりますか? 特に、ページにサーバーからコンテンツをロードする必要があるウィジェットがいくつかある場合はどうでしょうか?

ロードされるコンテンツの量は重要ですか?

ドロップダウンの例では、ドロップダウンのオプションを意味しました。したがって、選択する従業員のドロップダウンがある場合、その従業員のリストを参照しています。空のドロップダウンをロードし、コントローラーの初期化で従業員を取得してドロップダウンに入力しますか?

しかし、たとえば 200 行の従業員と、データベースに保存されているいくつかの従業員データのデータグリッドについて考えてみます。ページをロードすると、init 関数が従業員のデータセットを取得し、データグリッドにデータを入力して表示するコントローラーがロードされますか?

または、ページがサーバーから提供されると、サーバー側でデータセットを取得し、データグリッドも作成してロードします。これは、私が過去に主に PHP、JSP、ASP などを行ってきたプログラミングの世界です。いくつかのクールなページ効果などには JavaScript のみを使用します。

しかし、ページが読み込まれる (または読み込まれる) と、現在の画面にウィジェット/コンテンツを設定するために必要なデータを取得するために AJAX 要求を作成するという考えが気に入っているようです。ページを描画するためにサーバーにさらに多くのリクエストを行っているため、ページの読み込みがぎこちないか遅いように見えるかもしれないことだけが心配です. ページの最初のリクエストと、ウィジェットに入力するために必要な各データセットのリクエスト。

4

3 に答える 3

3

最良の答えは「フレームワークに依存する」だと思います。この問題を両方の方法で処理する Web フレームワークを見てきました。特に大量のデータが DOM に取り込まれている場合は、パフォーマンスの観点から、最初の HTTP 応答でできるだけ多くのページを読み込み、必要に応じて AJAX 経由でのみ更新することが望ましいと思います。大規模なデータ セットの場合、追加の HTTP リクエストのパフォーマンス オーバーヘッドは、JavaScript を介して大量の DOM 操作を実行する場合の影響と比較して比較的小さいことに注意してください。DOM 操作は一部のブラウザーでは非常に遅くなる可能性があります。

使用しているフレームワークを追加すると、より詳細な回答が得られる場合があります。

于 2011-01-28T20:36:07.623 に答える
1

ご指摘のとおり、すべてを AJAX で読み込むと、ページが遅くなります。実際、Web ページを高速化するためのベスト プラクティスの 1 つは、http 要求の数を減らすことです。

そうは言っても、AJAX を使用するとページの読み込みが速くなる場合があります。1 つの例は、テキスト ボックスのオート コンプリートです。AJAX を使用せずにそのような機能を実装した場合、Web ページは最初の読み込みで可能なすべてのクエリを読み込む必要があります。ページがそのすべてのデータをロードするには、永遠に時間がかかります。しかし、ページがロードされると、オートコンプリートはおそらく通常よりも反応が良いように見えるでしょう。

私のアドバイスは、考えられる最も単純なソリューションから始めて、必要に応じて AJAX、キャッシュ、およびその他の最適化機能を追加することです。

于 2011-01-28T20:33:38.190 に答える
0

表示しているデータによって異なります。データベースからの迅速な更新が必要な場合は、ajax アプローチで問題ありません。しかし、データが修正されている場合 (または、ページが読み込まれた後にデータを更新することを気にしない場合)、ajax アプローチを使用するべきではなく、より多くの作業 (json の要求、解析、select への入力など) が必要です。あまり利益を得られません。

于 2011-01-28T20:34:00.340 に答える