我正在使用express.js(node.js)来构建应用程序。我在app.js文件夹中将产品数组声明为会话(req.session.products)。 这是POST路线:
router.post('/remove-cart', (req, res, next) => {
var product_id = req.body.product_id; //get product id from client
console.log(req.session.products)
var n = req.session.products.indexOf(product_id); //get position of product id in the array
req.session.products.splice(n, 1); //remove it
console.log(req.session.products)
});
在路线的最后,当n = 0时,它会记录下来:
[ '1', '3', '3', '3', '3' ]
[ '3', '3', '3', '3' ]
这是我所期待的,但是,这不会影响主会话(req.session.products),也不会“保存”它。为什么?
答案 0 :(得分:1)
您真正的问题是您没有将req.session.products
数组返回到您的应用,您需要在回复中将其发回。
在.post()
方法的最后写下这一行:
res.send(req.session.products);