簡體   English   中英

添加到購物車 nodejs mysql

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM