代码停留在nodejs的.push中,不再执行任何操作,尝试以所有可能的方式修改数组,需要推送对象以供进一步使用,此处是代码片段
router.post('/addtocart', function (req, res, next) {
var cartadd = [];
addtocart = {
productId: req.body.productId,
product_name: req.body.pname,
product_price: req.body.price,
product_qty: req.body.adult,
vendor_id: req.body.vendor_id,
ticket_name: req.user.first_name,
ticket_email: req.user.email,
}
console.log(addtocart);
**cartadd.push(addtocart);**//stuck at this point
var addtocart = new Acart({
user: {
id: req.user._id,
first_name: req.user.first_name,
last_name: req.user.last_name,
email: req.user.email,
telephone: req.user.telephone
},
cart: cartadd,
paymentId: 1234, // Adding Dummmy payment id
checkin: req.body.arrival,
checkout: req.body.depart,
status: 'pending',
total: req.body.price
});
addtocart.save(function (err, orderdata) {
if (err) {
console.log("1196Error: " + err.message)
req.flash('error', 'Unable to save order... ' + err.message);
res.redirect('/');
}
req.flash('success', "Added to Cart!");
});
// return res.redirect('/');
});
发布于 2018-12-20 03:46:37
我不能计算出确切的错误,但通过反复试验,这个代码运行良好,但它没有太大的变化,如果有人能给它一个原因,那就太好了
router.post('/addtocart', function (req, res, next) {
var cartlist=[];
addtocart = {
productId: req.body.productId,
product_name: req.body.pname,
product_price: req.body.price,
product_qty: req.body.adult,
vendor_id: req.body.vendor_id,
ticket_name: req.user.first_name,
ticket_email: req.user.email,
}
console.log(addtocart);
cartlist.push(addtocart);
console.log("cartlist"+cartlist);
var addtocart = new Acart({
user: {
id: req.user._id,
first_name: req.user.first_name,
last_name: req.user.last_name,
email: req.user.email,
telephone: req.user.telephone
},
cart: cartlist,
checkin: req.body.arrival,
checkout: req.body.depart,
status: 'pending',
total: req.body.price
});
addtocart.save(function (err, orderdata) {
if (err) {
console.log("1196Error: " + err.message)
req.flash('error', 'Unable to Add to cart... ' + err.message);
res.redirect('/');
}
req.flash('success', "Added to Cart!");
console.log("success1193");
});
return res.redirect('/cart');
});
router.get('/cart', isLoggedIn, function (req, res, next) {
console.log(req.user._id);
qryFilter = { "user._id": req.user._id };
Acart.find(qryFilter, function (err, cart) {
console.log("cart1200"+cart);
res.render('shop/cart', {
layout: 'eshop/blank',
});
});
});
https://stackoverflow.com/questions/53857488
复制相似问题