개요!
상품설명창에서, 카트에 물건을 담고,
카트에서 수량을 결정짓고 오더로 넘긴다.
유저의 이름으로 정렬된 CART DB 에서는 담은 물품을 볼 수 있고, 삭제도 가능하다!
ORDER를 누르면, CART DB의 물품들은 삭제되고, ORDER로 넘어가게된다.
CART ajax 만들기
view에 DELETE를 위한 form을 추가하고 조금 진화시켰다.
- 수량이 변경될때마다, 자바스크립트를 사용하여, 실시간으로 가격이 노출되게 하였다.
- 화면에 보이는 값을 나타낼때는 '원', '+' 등을 사용하여, 시각적으로 효과를 높이고
(따로 div를 만들어서 각각 넣어도 봤지만 생각보다 더러워보였다.)
- ORDER 버튼을 통해, ORDER DB로 넘길때에는, "가격 값(num)"의 정확한 형태를 위해, 숫자를 추출해서 넘겼다.
(내 경우, textcontent를 그대로 넘기면, DB에서 "XXXX원=", "XXXX원=" 등으로 생기기 때문에)
숫자 추출시에는 replace를 썼다
- CART DB에서 삭제시키고 ORDER에 넣을때는 AJAX 요청을 통해 값을 넘겼다.
req.body의 form 으로 넘기기엔 이미 DELETE 버튼을 그렇게 만들었고,
자바스크립트로 잠시동안만 만들어 놓은 값(element.textContent)들이,
form 형태로 넘어갈지 의문이었다.(실험은 안해보았다.)
- ajax으로 넘기면 화면이 넘어가지 않기 때문에, 간단하게 "앵커태그"로 URL주소로 이동시키며 값을 보냈다.
각각의 요청들은 라우트들을 통해, 서버로 넘어갔고
처리해보았다.
ORDER MODEL을 작업중인데, 끝나면 다 같이 refactoring 해봐야겠다.
이번에 혼자 작업하면서 많은 부분이 막혔었다.
정작 짜놓고 나면 코드가 더럽기도 하고, 왜 막혔나 이해가 안가는 경우가 대다수지만, 그럼에도 뿌듯했다.
막혔던점.
ajax 로 요청은 보내서 DB에 전달은 되었는데, 잘되던 res.redirect() 가 먹히지 않았던것
==> button 대신 a 태그로 변경하여 해결
자바스크립트로, textContent의 값을 변경시켜 "xxx원 = ... " 등으로 표기했더니, DB로 넘길때 값이 같이 넘어가는 것.
==>방법1
<p> 가격 </p> <span class=disapear > </span> 으로 가격 생성시
span.classList.add("...")
span.classList.remove("...")
으로 나타났다 없어졌다를 하려고 했더니 너무 복잡해서
==>> 방법2
quantityData.push(allQuantity[i].value)
으로 값을 추출해 내었다.
그밖에도 뭐가 엄청 안됬었는데, 실수가 많았던 것이라 잘 기억이 나지 않는다.
쌩쌩 머리가 안돌아가는 점,
생각을 한쪽으로 하게되면, 뒤돌아서 다른 곳을 바라보지 못하는 점
넓은 시야가 없는점
열심히 했다. 첫 미니프로젝트! 마저 달려가보자!
점점 강의랑 다른 코딩이 되어간다. 산으로 가는건 아니겠지...
이젠 돌이킬 수 없어... 혼자 만드는 수밖에...
'공부용-사이드프로젝트 > Nodejs - 미니프로젝트-쇼핑몰' 카테고리의 다른 글
extra) fetch의 Post Method 를 사용하면 redirect가 되지 않아! 어떻게하지! (ajax 요청의 redirect) (0) | 2022.09.30 |
---|---|
extra) 무한히 증식하는 FORM(혹은, 그 어떤 것이라도)에 관하여 [그 안의 element 선택하기] (0) | 2022.09.29 |
5. 물품 상세 // 물품 (유저별로 다르게) 장바구니에 담기 // (유저별로 다르게) 장바구니 구현하기! With Ajax (0) | 2022.09.27 |
extra) 자바스크립트 내장 클래스 URL 클래스로, 섬네일 편하게 만들기 (0) | 2022.09.25 |
extra) input type = "file" 을 사용할 때, CsrfToken의 제출방법! (1) | 2022.09.25 |
댓글