2012-04-02 4 views
2

私はいくつかのjsonデータ(ユーザ情報など)をダンプするREST APIを持っています。 、クライアントサイドでJSONデータを使用するベストプラクティス(JavaScript)

  1. 構造のHTMLテーブルのlibをグラフいくつかのJSを使用して
  2. PLATグラフ、
  3. は、いくつかのフィールドの上にいくつかの計算を行うと、再びそれらを表示する:今、私はにそのデータを使用する必要があります。

本質的に、そのデータに対して何らかの処理を行い、洗練されたフォームを表示する必要があります。

私はjavascriptを初めて使用しており、htmlを構築するベストプラクティスを理解しようとしていますか?私はAJAX呼び出しと成功の一部を作るためにjqueryのを使用しています

は次のようになります。私は受け付けておりJSONが巨大であるため、今

success:function(data){ 
    $('#show_data_here').empty(); 
    generated_html = construct_html(data); 
    $('#show_data_here').html(generated_html); 
} 

は、construct_html(data)機能は本当に醜いなっている(800行) 1ページに表示するalot(〜10)グラフがあります。この問題にアプローチするにはよりよい方法がありますか?

答えて

0

まず、各タスクを実行する関数に分解してみてください。 その後、各タスク内にサブタスクが存在する可能性があります。それらをもう一度壊す。

success:function(data){ 
    constructTable(data.tableData); 
    grabLib.create(data.graphData); 
    updateCalculations(data.tableData); 
} 

function constructTable(data) 
{ 
    var html = ''; 
    // foreach 
    $('table tbody').empty().html(html); 
} 

// etc 

Idealyあなたはあなたのためのタスクを実行することができ、オブジェクトを扱うことにしたいだろうが、あなたの最初のステップは、機能を破壊することになります。より小さなチャンクに分割する。

+0

私はこのアプローチに行き、物事が乱雑にならないように願っています。 – John

+0

もし彼らが乱雑になってきたら、javascriptでオブジェクトを使うことを検討してください。 1つの領域に機能を含めることができます:http://www.w3schools.com/js/js_objects.asp、その後、各オブジェクトを個別のjsファイルとして作成します。物事をきれいに保つ必要があります。 –

0

構築しているhtmlのタイプに応じて、JsRenderのようなテンプレートフレームワークの使用を検討するとよいでしょう。

あなたが構築しているhtmlが明確なパターンに従っているなら、これは行く方法かもしれません。

+0

Jqueryテンプレートはサポートされなくなりました。 – John

+0

@John ok ..多分私はちょうどjsrenderを残すでしょう。 – scartag

+1

テンプレート用にHandlebars.jsをお勧めします... –

関連する問題