AJAX応答の「理想的な」出力形式は何ですか? クライアント側の JavaScript テンプレート エンジンを使用して、純粋なデータ (JSON、XML) をページにレンダリングしますか? それとも「そのまま」ページにレンダリングされた HTML スニペットですか?
あなたの好みは何ですか?その理由は何ですか?
AJAX応答の「理想的な」出力形式は何ですか? クライアント側の JavaScript テンプレート エンジンを使用して、純粋なデータ (JSON、XML) をページにレンダリングしますか? それとも「そのまま」ページにレンダリングされた HTML スニペットですか?
あなたの好みは何ですか?その理由は何ですか?
ほとんどのシナリオでは、JSON (または必要に応じて XML、例として JSON を使用しています) のみを送信する必要があります。
そうは言っても、私は JavaScript から HTML を生成するのが本当に嫌いです。これはメンテナンスの悪夢であり、2 つを混在させるのは好きではありません。送信するのが JSON だけの場合、JavaScript で HTML を生成しないようにするにはどうすればよいでしょうか。Person(s) オブジェクトを扱っている場合、最初にページをレンダリングするときに、次のようにレンダリングします。
...
<div class="person display">
<div class="name"></div>
<div class="status"></div>
<div class="score"></div>
</div>
...
AJAX 経由で個人データを取得する場合は、上記の DOM 構造に入力するだけです。
複数の Person の情報を表示したい場合は、DOM 構造に直接入力する代わりに、DOM 構造のクローンを作成してから入力する必要があります。このようにして、テンプレートはそのまま残り、再利用できます。
それは、データを何に使用するかに大きく依存します。
アプリ内および外部から使用されるデータには、決して HTML を使用しないでください。解析が難しく、別の構造に適合させるのが困難です。
ウィジェット用に更新されたものなど、データが少ない場合は、すばやく簡単に使用できる JSON を使用します。
検索クエリの結果のように、データが大量になる可能性がある場合は、XML を使用します。XML の方が、膨大なデータの分析に柔軟に対応できるからです。
純粋な XML をわざわざ使用しないでください。とにかく、バッチ分析は常に出力の前に行われます。
ほとんどの場合、JSON を使用することをお勧めします。JSON は HTML よりも柔軟でありながら、配置がかなり高速であるためです。
データを後で処理する必要がないことがわかっている場合や、レイアウトが複雑な場合は、HTML を使用してください。サーバー側で複雑な HTML を記述することは、DOM を使用するよりもはるかに簡単です。
大量の HTML を返す場合は、サーバー側でまとめてページにロードするのが最善です。
キーと値のペアの集まりのようなものを返して何かを更新する<select>
場合は、JSON として返し、クライアント側で HTML を構築するのが最善です。
状況にもよりますが、クライアントにデータを送信し、クライアント側のフレームワークを使用してページを更新することを好みます。私が自分で書いていて、スニペットが十分に小さかった場合、おそらくサーバー側でそれを行い、jsをできるだけスリムに保ちます。
私にとって「理想的な」方法はありません。ページネーションが必要で、クライアント側のテンプレートが既にある場合に、jQuery を使用してクライアント側でレンダリングするための純粋な JSON と jTemplates を使用します。
サーバーへの単純な呼び出し (オートコンプリート、インプレース編集、下書きの保存など) を実装する必要がある場合にも、JSON を使用します。
ブランチの新しいページ フラグメントが必要な場合は、HTML レンダリングを使用します。テンプレートの読み込み、ページへのペインの追加、カスタム コントロールのレンダリングです。
ところで、「更新パネル」だけでなく、クライアント側のオブジェクト操作に切り替えることができるので、jsonを好むことができます。