【发布时间】:2013-02-18 10:50:01
【问题描述】:
我正在运行一个允许用户查看项目列表的 PHP 网络应用程序。
基础站点使用 PHP 编写 HTML 来显示搜索结果:
<body>
<?php
foreach($results as $item) {
echo "<div class='item'>".
"<img src='images/items/".$item['imageName'].".png' />".
"<span class='itemDescription'>".$item['text']."</span>".
"</div>";
}
?>
</body>
但是,当启用 Javascript 时,我使用 AJAX 来显示结果:
function fireSearch(query) {
$.post("ajax/search.php", {q: query}, function(items) {
for (var i in items) {
$("body").append(
"<div class='item'>"+
"<img src='images/items/"+items[i]['imageName']+".png' />"+
"<span class='itemDescription'>"+items[i]['text']+"</span>"+
"</div>";
}
}
}
我可以简单地编写一个名为 get_item_html($item) 的 PHP 函数并让 AJAX 请求返回干净的 HTML 并将其简单地放置在 DOM 中,但如果请求返回大量结果,那将是真正的带宽浪费真正需要构造HTML的是imageName和text。
这只是我必须处理的事情还是有一些优雅的解决方案?
这个问题有名称,所以我可以用谷歌搜索它吗?
【问题讨论】:
-
这叫做模板。一些模板格式可以在服务器端和客户端使用。
标签: php javascript code-duplication progressive-enhancement