cookie를 사용해서 cart에 항목들을 넣어보자!
app.get('/cart/:id', function(req, res){
var id = req.params.id
if(req.signedCookies.cart){
var cart = req.signedCookies.cart
}
else {
var cart = {}
}
if(!cart[id]) cart[id] = 0
cart[id] = parseInt(cart[id]) + 1
res.cookie('cart', cart, {signed:true})
res.redirect('/cart')
})
products에서 품목을 누르면 품목의 cart/name 즉, 품목의 name으로 이동을 하기 때문에 /cart/:id로 접속을 해줍니다!
id에 요청의 params에서 id를 선택에 넣어줍니다.
https://c-java-py-jieunletsgo.tistory.com/31
인프런 - cookie는 뭘까 🧐 - 1
cookie npm에서 cookie-parser를 설치받아 사용합니다! npm i cookie-parser cookie는 서버 접속 시 사용자의 정보를 저장한 뒤 같은 서버로 접속 시 저장된 데이터를 전송합니다! var express = require('express') var co
c-java-py-jieunletsgo.tistory.com
cookie 예제와 동일하게 .cookie를 사용하여 cart cookie를 생성하고, .cookies를 사용하여 cart cookie의 값 여부를 확인한 후 값이 존재한다면 cart에 기존 cookie 값을 넣어주고, 존재하지 않는다면 cart를 0으로 초기화해줍니다!
id -> 1
cart[id] -> 6
cart -> { '1': 6, '2': 3, '3': 4 }
cart[id]는 id의 cookie 값입니다! cart[id]는 문자기 때문에 값이 없으면 null로 저장이 됩니다.
만약 cart[id]가 null이라면 cart[id]를 0으로 초기화시키고 null이 아니라면 cart[id]의 값을 1씩 더해줍니다.
이때 cookie가 전달해주는 값은 문자기 때문에 parseInt를 사용해 int로 형바꿈을 해줍니다!
redirect는 브라우저의 주소를 바로 바꿔줍니다! 따라서 위의 코드가 전부 진행된 후에는 /cart로 주소를 바꿔줍니다.
'Node.js' 카테고리의 다른 글
인프런 - Login - 2 (0) | 2023.12.21 |
---|---|
인프런 - Login - 1 (0) | 2023.12.21 |
인프런 - shoppingCart - 4 (0) | 2023.12.19 |
인프런 - shoppingCart - 2 (0) | 2023.12.19 |
인프런 - cookie는 뭘까 🧐 - 1 (0) | 2023.12.19 |