我正在运行一个 PHP webapp,它允许用户查看项目列表。
基本站点使用 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>";
}
}
}
我可以简单地编写一个名为的 PHP 函数get_item_html($item)
并让 AJAX 请求返回干净的 HTML 并将其简单地放置在 DOM 中,但是如果请求返回大量结果,那么当我真正需要构建 HTML 时,这将是真正的带宽浪费是imageName
和text
。
这只是我必须应对的事情还是有一些优雅的解决方案?
这个问题有名字,所以我可以用谷歌搜索吗?