求解:vue2.0商城开发中后台添加成功,前端返回添加失败?
前端代码:<li v-for="(itme,index) in GoodList"> <img v-lazy="'/static/'+itme.productImage" alt="">
{{itme.productName}}
{{itme.salePrice}}
加入购物车
addCart(productId){ axios.post('/goods/addCart',{productId:productId}).then((res)=>{ if(res.status==0){ alert("添加成功"); }else{ alert("msg:"+res.msg); } })后端代码:
///加入购物车
router.post("/addCart", function(req, res, next) {
var userId = "100000077";
var productId = req.body.productId;
var User = require('../models/user');
User.findOne({
userId: userId
}, function(err, userDoc) {
if(err) {
res.json({
status: "1",
msg: err.message
})
} else {
if(userDoc) {
console.log("userDoc:" + userDoc);
let goodsItem = '';
userDoc.cartList.forEach(function(item) {
if(item.productId == productId) {
goodsItem = item;
item.productNum++;
}
});
if(goodsItem) {
userDoc.save(function(err2, doc2) {
if(err2) {
res.json({
status: "1",
msg: err2.message
});
} else {
res.json({
status: "0",
msg: "",
result: "suc"
});
}
})
} else {
Goods.findOne({
productId: productId
}, function(err1, doc) {
if(err1) {
res.json({
status: "1",
msg: err1.message
});
} else {
if(doc) {
newobj = { //新创建一个对象,实现转换mongoose不能直接增加属性的坑
productId: doc.productId,
producName: doc.producName,
salePrice: doc.salePrice,
productName: doc.productName,
productImage: doc.productImage,
productNum: "1",
checked: "1",
}
userDoc.cartList.push(newobj);
userDoc.save(function(err2, doc2) {
if(err2) {
res.json({
status: "1",
msg: err2.message
});
} else {
res.json({
status: "0",
msg: "",
result: "suc"
});
}
})
}
}
});
}
}
}
});
}); |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
- 检查在用axios调用购物车接口时,是否需要向后台传参数,你的代码只传了TOKEN
2.最好console.log(res)看下,或者看看报的是500还是404或者其他错误 |
|
|
|
|