我目前正在使用Node.js、Express和MYSQL开发一个电子商务网站。我一直试图向cart应用程序添加一个项,并收到了以下错误:
Cannot GET /add_to_cart/
。
我想我一定是把路线设置错了,但我不知道我做错了什么。我认为这可能与我的ejs语句有关;<%=this.id%>
,在我的路线上,但是我已经用多种方式重写了它,而且它似乎没有解决问题。
我在.ejs
页面上的路线:
<p><a href="/add_to_cart/<%=this.id%>" class="btn btn-primary" role="add">Add to cart</a></p>
我在javascript文件中的router.get
语句:
router.get('/add_to_cart/:id', (req, res)=> {
//check if cart has an object otherwise pass empty object
const productID = req.params.id;
console.log(productID);
const cart = new Cart(req.session.cart ? req.session.cart : {});
//mysql statement find product by // ID
let sql ="SELECT * FROM products WHERE id = ? LIMIT 1";
let query = db.query(sql, id, (err, result)=>{
if(err) throw err;
console.log(result);
if(result.length){
cart.add(product, product.id);
req.session.cart;
console.log(req.session.cart);
res.redirect("/");
}
});
});
发布于 2019-08-02 08:12:29
您应该检查并修复服务器端出现的错误。
只要快速查看代码,我就可以看到您正在productID
变量中提取产品id param,但是您正在将id
变量传递给SQL查询。可能还有其他错误。
https://stackoverflow.com/questions/57286046
复制相似问题