Я запускаю веб-приложение 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>";
}
}
}
Я мог бы просто написать функцию PHP с именем get_item_html($item)
и заставить запрос AJAX возвращать чистый HTML и просто помещать его в DOM, но если запрос возвращает много результатов, это было бы настоящей тратой полосы пропускания, когда все, что мне действительно нужно для создания HTML — это imageName
и text
.
Это просто то, с чем я должен справиться, или есть какое-то элегантное решение?
И есть ли у этой проблемы название, чтобы я мог его погуглить?