0

フォーラムでトピックを検索して一覧表示するための AJAX 検索を作成したいと考えています (トピック リンクと件名のみ)。問題は、どちらの方法がより優れていて高速かということです。

  1. スレッド リストを JSON 文字列として取得し、それをオブジェクトに変換してから、アイテムをループして<li/>またはを作成し、<tr>データ (リンク、サブジェクト) を書き込み、それをスレッド リストに追加します。(jQuery 搭載)

  2. HTMLタグでラップされたスレッドリストを取得して印刷します(または and を使用innerHTMLします$(e).html()

ありがとう...

4

4 に答える 4

0

JavaScript が JSON を処理して HTML に入力するのに長い時間がかかる場合、サーバーが生成した HTML の方が確かに高速です。

ただし、保守性については、JS の方が優れています。JS を変更するだけで HTML 生成を変更できる、サーバー側のコードを更新する必要がない、デルタ リリースを作成するなど。

最善の方法は、実際にどれだけ遅いかを測定することです。遅いと思うこともありますが、実際に試してみると、大きな違いはわかりません。JSON オブジェクトの送信が大幅に遅れる可能性があります。サーバーからhtml表現を送信すると、その遅延は依然として存在し、実際には増加します。

したがって、サーバーからの送信ではなく、実際に JSON を解析して html を生成することがボトルネックである場合、サーバーから html を送信することは理にかなっています。

ただし、html の生成と JSON の解析では、多くの最適化を行うことができます。それを速くするための非常に多くのトリックがあります。コードを見せていただければ、JS ベースの高速な実装の作成をお手伝いしたり、サーバー上で実行するように指示したりできます。

于 2012-07-09T14:19:58.140 に答える
0

どちらの方法が優れているかはわかりませんが(データへの影響が少ないように見えるため、2番目の方法の方が優れていると思います)、決定的な方法は両方の方法を試して、どちらが優れているかを測定することです.

于 2012-07-07T04:05:04.910 に答える
0

「より速い」はおそらく2番目の方法です。

「より良い」はおそらく主観的なものです。

たとえば、私は (フロント エンド開発者として) サーバーが返す html を変更できず、json オブジェクトを配信してほしいと思っていたので、自分が望むようにページをデザインできるようにしたかったのです。

また、(ユース ケースに固有のものではないかもしれませんが)最初のページ読み込み時にすべての html を提供すると、ページ サイズと読み込み時間が増加する可能性があります。

于 2012-07-07T05:14:18.397 に答える
0

私は2番目の方法を好みます。

サーバー側でデータを JSON または html 形式に変換する必要があると考えているので、ブラウザが理解できる形式に直接移動して、クライアント側で再処理する必要がないようにしてください。また、2 番目の方法を簡単に適応させて、JavaScript を無効にしているユーザーのために適切に機能を低下させることもできます (標準の非 JS リンクを介して結果が表示されるようにします)。

于 2012-07-07T03:56:43.197 に答える