전자 상거래 사이트에서 장바구니에 상품을 추가 할 때 선택할 수있는 옵션이있는 팝업 창을 표시하고 싶습니다. iPod Shuffle을 주문하고 조각 할 색상과 텍스트를 선택해야한다고 상상해보십시오.
창을 모달로 만들고 싶습니다. 그래서 Ajax 호출로 채워진 라이트 박스를 사용하고 있습니다. 이제 두 가지 옵션이 있습니다.
옵션 1 : 데이터 만 전송하고 JavaScript를 사용하여 HTML 마크 업 생성
이것에 대한 좋은 점은 Ajax 요청을 최소한으로 줄이고 데이터를 마크 업과 혼합하지 않는다는 것입니다.
이것에 대해 좋지 않은 점은 이제 서버 측에 템플릿 엔진을 사용하는 대신 JavaScript를 사용하여 렌더링을 수행해야한다는 것입니다. 클라이언트 측 템플릿 솔루션 을 사용하여 접근 방식을 약간 정리할 수 있습니다 .
옵션 2 : HTML 마크 업 보내기
이것에 대한 좋은 점은 나머지 렌더링 작업 (Django)에 사용하는 것과 동일한 서버 측 템플릿 엔진을 가지고 라이트 박스를 렌더링 할 수 있다는 것입니다. JavaScript는 HTML 조각을 페이지에 삽입하는 데만 사용됩니다. 따라서 렌더링 엔진에 렌더링을 명확하게 남깁니다. 이해가 되네요
그러나 어떤 이유로 든 Ajax 호출에서 데이터와 마크 업을 편안하게 혼합하는 느낌이 들지 않습니다. 내가 왜 불안하다고 느끼는지 잘 모르겠습니다. 즉, 모든 웹 페이지가 제공되는 것과 같은 방식입니다-데이터 + 마크 업-맞습니까?