[英]add to cart nodejs mysql ejs
我想將產品添加到我的購物車,我對不同頁面使用不同的路線。 所以在我的 app.js 文件中,我有 web 頁面需要的路由,但是我無法讓我的 id 顯示在我的 ejs 視圖中。 有人可以幫忙嗎? 下面是我的代碼。 我認為問題在於當我單擊添加到購物車按鈕時沒有顯示 id
<!DOCTYPE html>
<html lang="en">
<head>
<% include partials/head %>
</head>
<body>
<% include partials/menu %>
<!--Product Cards-->
<div class="container">
<!-- Traverse through Database data-->
<% productsData.forEach(function(result) { %>
<div class="card">
<div class="imgBx">
<img src="<%= result.imagePath %>" alt="">
</div>
<div class="contentBox">
<h2><%= result.prod_title %></h2>
<h3>$<%= result.price %></h3>
<div class="size">
<h3>Size :</h3>
<span><%= result.size %></span>
</div>
<a class="add-cart" href="/addToCart/<%= this.id %>">ADD TO CART</a>
</div>
</div>
<% }); %>
</div>
</body>
<% include partials/script %>
</html>
router.get('/', function (req, res){
var productId = req.params.id;
var cart = new Cart(req.session.cart ? req.session.cart : {items: {}} );
var sql = 'SELECT prod_id FROM product';
databaseConnection.query(sql, function(err, results, fields) {
if (err){
throw err;
} else {
cart.add(results, results.id);
req.session.cart = cart;
console.log(req.session.cart);
res.redirect('/shop');
}
});
});
// Import Routes
var homeRouter = require('./routes/home');
var signInRouter = require('./routes/signIn');
var shopRouter = require('./routes/shop');
var registerRouter = require('./routes/register');
var signOutRouter = require('./routes/signOut');
var cartRouter = require('./routes/addToCart');
// Use Routes
app.use('/', homeRouter);
app.use('/signIn', signInRouter);
app.use('/shop', shopRouter);
app.use('/register', registerRouter);
app.use('/signOut', signOutRouter);
app.use('/addToCart/:id', cartRouter);
如果您在這里使用result
變量:
<h2><%= result.prod_title %></h2>
<h3>$<%= result.price %></h3>
我只假設您應該在這里使用它來生成添加到購物車的鏈接:
href="/addToCart/<%= result.id %>"
超過你所擁有的:
href="/addToCart/<%= this.id %>"
但是,如果您在與路由器定義不同的位置設置路徑參數,則需要使用var router = express.Router({ mergeParams: true });
在這里指定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.