3

データを返す Web サービスがあります。非常に大きなセットで、600 行 x 20 列になる可能性があります。このデータを Jquery コードの html テーブルにロードする最も効率的な方法は何ですか?

返されたデータをループし、文字列内にテーブル DOM を作成して、テーブル html を作成しようとしましたが、ループ部分が非常に遅いです。Jquery テンプレートのことは聞いたことがありますが、このテクノロジが大量のデータ セットに対して十分に高速かどうかはわかりません....

ありがとう

4

4 に答える 4

2

Web サービスを変更するか、別のサービスにそれを呼び出してデータ サーバー側を解析し、HTML を返すことは可能ですか? クライアント側での JSON の処理がボトルネックになります。サービスに必要な HTML を返してもらうことができればelement.html(data)、クライアント側は簡単です。

編集: JSON または HTML を返す問題と、それぞれの長所と短所については、ここでかなり議論されています: 12345

于 2011-01-04T03:06:55.320 に答える
1

ユーザーができるだけ早くデータを操作できるようにすることが目標である場合は、無限スクロール (連続スクロールとも呼ばれます) パターンのようなものを検討して、ユーザーのスクロールから必要に応じてグリッドを構築することをお勧めします。事前にグリッドをレンダリングするのに時間を費やさないでください。

いくつかのリンク:

http://www.infinite-scroll.com/

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-an-infinite-scroll-web-gallery/

于 2011-01-04T03:36:18.870 に答える
1

これは設計上の問題のようです。一度に 600 x 20 のデータ項目をロードするのは得策ではありません。ポケット PC や TC (シン クライアント) などのシステム リソースが少ないクライアントは、そのようなページにアクセスするのが困難になると考えてください。

Web サービス データをキャッシュし、ユーザー アクションに基づいてチャンクでクライアント ブラウザにロードする必要があります。そのために、いくつかの Ajax コントロールを使用できます。

于 2011-01-04T03:11:57.963 に答える
0

これがJSON DBが最も役立つ場所だと思います...数行のjson db形式のデータで応答するサーバー側のページを作成できます..次に、独自のajaxコードを実行して行をロードし、独自のような表示モデルを選択<table>"overflow:auto;"、そのテーブルにチャンクで行を追加するか、すでに提案されている「無限スクロール」などを使用します。

于 2011-01-06T04:23:31.307 に答える