0

私は、ajax を介して大量のデータをロードし、JavaScript モデルのどこかに保存するクライアント側アプリケーションを開発しています。つまり、私のアプリケーションには次の要素があります。

  • AJAX 呼び出し: ユーザー リストの読み込み、財務データの読み込み (ユーザーの収入と結果、収入/結果に基づくチャート データの読み込み)
  • ユーザーのリストは、最初のページの読み込み時に読み込まれます (変更されません)。
  • 特定の期間の選択したユーザーの財務データを取得できます
  • ユーザーチェックボックスリストを含むダイアログがあります - ダイアログが送信された後、それらのユーザーの財務データが(ajax経由で)取得されます

そのため、ページ全体の読み込みごとに 1 回だけの ajax 呼び出しと、フィルターが変更されるたびに呼び出される ajax 呼び出しがいくつかあります。

jquery には、.data()データを特定の DOM オブジェクトにバインドする機能があることがわかりました。しかし、ご覧のとおり、データを特定の DOM オブジェクトにバインドする必要はなく、データをグローバルに管理するだけです。推奨されるアプローチはありますか?

4

1 に答える 1

2

グローバル データの場合、値を含むグローバル javascript オブジェクトを検討できます。たとえば、globalData を宣言します。

var globalData = {users : /*Put User List Here*/ };

次に、グローバル データ オブジェクトが取得されるときに値を割り当てるだけです。

$.ajax(success:function(data){
    globalData.transactions = data;
});

.data() 関数を使用して、特定の UI 要素に制約されたデータを割り当てることができます。たとえば、アカウント リストを表示するページのセクションがある場合は、このアカウント リストの ajax リクエストのように .data() 関数を使用します。

$.ajax(success:function(data){
    $("#accountList").data(data);
});
于 2013-04-05T19:04:12.870 に答える