Node.js

인프런 - shoppingCart - 3

오쟝 2023. 12. 19. 11:57

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