这是controller中products.js的代码
let cart = [];
function addToProduct(products) {
cart.push(products);
}
exports.addToCart = (req, res) => {
const productId = req.params.id;
const sql = `SELECT * FROM products WHERE id = ${productId}`;
connection.query(sql, (error, result) => {
if (error) {
return res.send('Error adding to cart');
} else {
res.redirect('/allProducts');
addToProduct(result);
console.log("length of cart is"+cart.length);
for(let i= 0; i < cart.length; i++) {
console.log(cart[i]);
}
}
});
};
function getProducts() {
return cart.map(product => ({
name: product.name,
description: product.description,
price: product.price,
stock: product.stock
}));
}
function getTotal() {
return cart.reduce((total, product) => total + product.price * product.stock, 0);
}
exports.getCart = (req, res, next) => {
const products = getProducts();
const total = getTotal();
req.cart = { products, total };
return next();
};
这是routes中pages.js的代码
router.post('/add-to-cart/:id', productsController.addToCart);
router.get('/cart', productsController.getCart, (req, res) => {
res.render('cart', {
products: req.cart.products,
total: req.cart.total
});
});
现在我没有把产品放进我的车里。bs它只是空的,没有显示错误。Exports.addtocart工作正常,但问题是在那之后。请帮我认出它。
我尝试了很多事情,但最终还是在这里