Web サイトで AJAX を使用して、PHP スクリプトによって生成された JSON 文字列を取得しています。JSON オブジェクトは次のようになります。
{
"people" : [
{ "name" : "Bob", "id" : "1", "sex" : "m" },
{ "name" : "Amy", "id" : "2", "sex" : "f" }
]
}
AJAX を使用して取得したら、Javascript を使用して手動でスタイリングします。
for(i = 0; i < obj.people.length; i++) {
document.getElementById('people-container').innerHtml += '<span class=\'' + obj.people[i].sex + ' person\'>' + obj.people[i].name + '</span>
}
しかし、AJAX 以外のすべてのコンテンツにSmarty テンプレート エンジンを使用しているため、Javascript に HTML とクラスが埋め込まれていることに罪悪感を覚えずにはいられません。
テンプレートエンジンはページの読み込み時に実行され、ページの読み込み後にAJAX呼び出しが行われるため、AJAX応答にSmartyを使用できないと考えました...これを行うためのより良い方法はありますか?