Posto nella sezione javascript anche se in realtà il dubbio riguarda anche PHP, uso degli esempi per spiegarmi al meglio

Io ho sempre creato pagine dinamiche scrivendo del codice in questo modo:
Codice PHP:
<?php require_once('/php/managers/ProductsManager.php');
ProductsManager::initialize(); ?>
<html>
    <head>
    </head>
    <body>
<?php while($product=ProductsManager::next()): ?>
        <div>
            <div class="titolo">
                Titolo: <?= $product->title ?>
            </div>
            <div class="descrizione">
                Descrizione: <?= $product->description ?>
            </div>
            <div class="prezzo">
                Prezzo: <?= $product->price ?>
            </div>
        </div>
<?php endwhile; ?>
    </body>
</html>
Ora tutto va alla grande cosi, mettiamo però che volessi permette di inserire un nuovo prodotto direttamente dalla pagina facendo quindi una richiesta ajax, non avrei problemi nel fare la richieste ad inserire il prodotto nel db, però poi come potrei fare per ricreare tutto il codice html che mi visualizza il nuovo prodotto?
Non parlo della difficoltà nel creare codice html in javascript, parlo di come "indicare" a javascript quale struttura html seguire

Di solito come ci si muove in questi casi? Si ritorna direttamente dal server il prodotto con tutto il codice html correlato?