En un sitio de comercio electrónico, al agregar un artículo a un carrito, me gustaría mostrar una ventana emergente con las opciones que puede elegir. Imagina que estás pidiendo un iPod Shuffle y ahora tienes que elegir el color y el texto para grabar.
Me gustaría que la ventana sea modal, por lo que estoy usando una caja de luz poblada por una llamada Ajax. Ahora tengo dos opciones:
Opción 1: envíe solo los datos y genere el marcado HTML usando JavaScript
Lo bueno de esto es que reduce la solicitud de Ajax al mínimo de oso y no mezcla los datos con el marcado.
Lo que no es tan bueno de esto es que ahora necesito usar JavaScript para hacer mi renderizado, en lugar de tener un motor de plantillas en el lado del servidor. Podría ser capaz de limpiar un poco el enfoque utilizando una solución de plantillas del lado del cliente .
Opción 2: enviar el marcado HTML
Lo bueno de esto es que puedo tener el mismo motor de plantillas del lado del servidor que estoy usando para el resto de mis tareas de representación (Django), hacer la representación de la caja de luz. JavaScript solo se usa para insertar el fragmento HTML en la página. Por lo tanto, deja claramente la representación al motor de representación. Tiene sentido para mi.
Pero no me siento cómodo mezclando datos y marcas en una llamada de Ajax por alguna razón. No estoy seguro de qué me hace sentir incómodo al respecto. Quiero decir, es la misma forma en que se sirve cada página web: datos más marcado, ¿verdad?