1

以下のajax呼び出しがあります。

jQuery.post('index.php',{
                        'option'    : 'com_one',
                        'controller': 'product',
                        'task'  : 'loadColors',
                        'format'    : 'raw',            
                        'design_id' : design_id,
                        'collar_id' : collar_id                        
                }).success(function(result) { 
                    jQuery('div#color_wrapper').html(result); 
                }).error(function() { 
                    jQuery('div#color_wrapper').html('<h1>ERROR WHILE LOADING COLORS</h1>');
                });

方法 1 HTML の大きなセットを返します。次に、それらが に割り当てられdiv#color_wrapperます。ここで行っているのはecho、model.php に必要なすべての HTML です。

方法 2データを JSON オブジェクトとして取得し、JavaScript テンプレート ( handlebarsjs ) を使用してページ内にレンダリングできることを知りました

私が理解している限り、クライアント側の処理(方法2)とサーバー側の処理(方法1)です。

私の問題は、どちらの方法が速いですか? 業界標準の方法はどれですか? これら2つの方法の長所と短所はありますか? どの方法を使用する必要があり、その理由は?

ありがとう

4

4 に答える 4

3

連続したリクエストで転送するデータが少ないため、JSON方式の方が優れていると思います。

パフォーマンスを本当に意識している場合は、テンプレートをプリコンパイルする必要があります。

さらに、テンプレートをプリコンパイルする場合はhandlebars.js、クライアントに送信する必要もありません。ブラウザにはるかに小さいサイズhandlebars.runtime.jsを送信できるため、読み込み時間がさらに短縮されます。

于 2012-11-13T01:43:59.573 に答える
2

「業界標準」が必ずしもそのようなことを判断する最良の方法であることを私は知りません。あなたの典型的な開発者は、handlebars.js が何であるかさえわからず、現在行っているように HTML を div にロードするだけだと思います。

どちらの方法が速いかをテストする必要があります。明らかに、JSON を使用すると、リクエストが高速になり、必要な帯域幅が少なくなるため、サーバーのパフォーマンスが向上しますが、最終的な HTML をドキュメントに挿入するための全体的な時間は、テストする必要があります。

大量の AJAX 呼び出しを行う予定で、ハンドルバーのようなテンプレート システムを利用でき、サーバーのパフォーマンスと帯域幅が心配な場合は、JSON アプローチに傾倒します。

1 回限りの AJAX 呼び出しが必要で、手早く簡単なものが必要で、トラフィックの少ないサイトを扱っている場合は、おそらく HTML 応答を行うだけでした。

于 2012-11-13T01:47:42.670 に答える
1

特にGoogleのAngularJSのようなMVCフレームワークを使用する場合は、JSONの方が明らかに優れています。理想的には、データをロードする必要があるのは1回だけです。

于 2012-11-13T01:45:26.210 に答える
1

私は 2 番目の方法を使用することを好みます。

通常、サーバー側でもクライアント側でも、処理時間は重要ではありません。

対照的に、帯域幅は、ウェブサイトの閲覧者を快適にするかどうかを決定する重要な要素です。重い HTML 応答を送信すると、特にそれが繰り返される場合、インターネット接続が良好でない場合、ユーザーは毎回待たされることになります。

それは、ユーザーが Web ページをやめるのを待つ時間です。

于 2012-11-13T01:53:04.537 に答える