0

このアプリケーションは、PHP、MySQL、jQueryを使用して構築しています。基本的に、これはチェックリスト管理アプリケーションです。

非同期で編集できるこれらのチェックリスト(スプレッドシートのように表としてレイアウトされています)があります。変更があるたびに、MySQLを更新するPHPへのAJAX呼び出しを通じて報告されます。

トリッキーな部分は、他の人が同時に同じチェックリストを編集する可能性があることです。jQueryがJSONオブジェクト間の変更に気付いた場合、チェックリストの内容が更新されます(DBにpingを送信するために定期的にHTTPリクエストが発生します) HTMLテーブル行のコンテンツ。

これは、チェックリスト内の限られた数の項目に対しては正常に機能しますが、チェックリストにかなりの数の行が含まれていると、それ自体が壊れて遅れます。チェックリストの最新の項目に対してHTTPリクエストが行われるたびに、HTMLテーブルのすべての行をループし、その行の内容をJSONの対応するチェックリスト項目と比較するという事実に非効率性があることを知っています。変更があったかどうかを確認するオブジェクト。

JSONオブジェクトと、DOMをループせずに画面に表示されているものとの間の変更を検出するための、より効率的な方法があるかどうか疑問に思いました。

基本的に、最小限のDOM操作で大規模なデータセットを非同期に同期させるにはどうすればよいですか?

どうもありがとう!

4

1 に答える 1

3

DOMをループする代わりに、ユーザー入力でローカルデータ構造を更新します。次に、そのローカルデータ構造をWebサービスから戻ってくる新しいデータ構造と比較します。IDによる更新が必要なDOM内のノードだけを簡単に更新できるはずです。

于 2012-06-21T00:32:20.773 に答える