In un sito di e-commerce, quando aggiungo 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 utilizzando una lightbox popolata da una chiamata Ajax. Ora ho due opzioni:
Opzione 1: invia solo i dati e genera il markup HTML utilizzando JavaScript
La cosa bella di questo è che riduce la richiesta Ajax al minimo dell'orso e non mescola i dati con il markup.
Ciò che non è eccezionale è che ora ho bisogno di usare JavaScript per eseguire il rendering, invece di avere un motore di template sul lato server farlo. Potrei essere in grado di ripulire un po 'l'approccio utilizzando una soluzione per i modelli sul lato client .
Opzione 2: invia il codice HTML
La cosa buona è che posso avere lo stesso motore di template sul lato server che sto usando per il resto delle mie attività di rendering (Django), eseguire il rendering del lightbox. JavaScript è usato solo per inserire il frammento HTML nella pagina. Quindi lascia chiaramente il rendering al motore di rendering. Ha senso per me.
Ma non mi sento a mio agio nel mixare dati e markup in una chiamata Ajax per qualche motivo. Non sono sicuro di cosa mi faccia sentire a disagio. Voglio dire, è lo stesso modo in cui viene pubblicata ogni pagina web: data plus markup - giusto?