Получение корзины покупок на основе сеанса express в Angular 9 - PullRequest
0 голосов
/ 20 июня 2020

Я работаю над своим самым первым сольным проектом и создаю сайт электронной коммерции. Я выбрал стек MEAN, и для корзины покупок решил, что лучше всего использовать хранилище сеансов. теперь на задней панели все работает нормально, я могу добавлять товары, извлекать корзину и оформлять заказ. моя проблема возникает, когда я запускаю свой сервер с клиентом. на стороне клиента я могу добавлять товары, но не могу поднять корзину, я просто получаю "undefined". Я искал везде безрезультатно, что я делаю не так? Я включил несколько фрагментов функций корзины

приложение. js

     app.use(cors({origin: [
  "http://localhost:4200"
], credentials: true}));
app.use(session({
  secret: '',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: false },
  store: new MongoStore({ mongooseConnection: mongoose.connection}),
  cookie: {maxAge: 180 * 60 * 1000}
}));

cart. js route

router.get('/my-cart', (req, res, next) => {
    if(!req.session.cart){
      return res.json('cart is empty!');
    }
    var cart = new Cart(req.session.cart);
    console.log(req.session.cart);
    res.status(200).json(cart)
});

data.service.ts

cart: Cart;

 getCart(){
    return this.http
      .get<Cart>(`${ENV.BASE_API}my-cart`).subscribe((data: Cart) => {
        this.cart = data;
        console.log(this.cart);
      });
  }

cart.ts

ngOnInit(): void {
    this.getCart();
  }

  getCart(){
    this.dataService.getCart();
    }
...