In un sito di e-commerce, quando si aggiunge un articolo a un carrello, vorrei mostrare una finestra popup con le opzioni che puoi scegliere. Immagina di ordinare un iPod Shuffle e ora devi scegliere il colore e il testo da incidere.
Vorrei che la finestra fosse modale, quindi sto usando un lightbox popolato da una chiamata Ajax. Ora ho due opzioni:
Opzione 1: inviare solo i dati e generare il markup HTML utilizzando JavaScript
La cosa bella di questo è che riduce al minimo la richiesta Ajax e non mescola i dati con il markup.
La cosa non eccezionale di questo è che ora ho bisogno di usare JavaScript per fare il mio rendering, invece di fare un motore modello sul lato server. Potrei riuscire a ripulire un po 'l'approccio usando una soluzione di template lato client .
Opzione 2: invia il markup HTML
La cosa positiva di questo è che posso avere lo stesso motore di template lato server che sto usando per il resto delle mie attività di rendering (Django), fare il rendering del lightbox. JavaScript viene utilizzato solo per inserire il frammento HTML nella pagina. Quindi lascia chiaramente il rendering al motore di rendering. Per me ha senso.
Ma non mi sento a mio agio nel mescolare dati e markup in una chiamata Ajax per qualche motivo. Non sono sicuro di cosa mi faccia sentire a disagio. Voglio dire, è allo stesso modo in cui viene pubblicata ogni pagina web - dati più markup - giusto?