Как я могу передать переменную в .hbs на маршрутизатор get - PullRequest
0 голосов
/ 02 ноября 2019

Мне нужно передать переменные User._id, farmprod._id и buyqty на маршрутизатор get, чтобы я мог хранить их в коллекции mongodb. У меня установлен логин и farmprod._id правильно, но я не знаю, как передать переменную buyqty в маршрутизатор. пожалуйста помоги. Я попробовал использовать метод POST и метод PUT, но у меня возникли некоторые проблемы

proddet.hbs

    <div class="col-lg-12 row ">
        <div class="col-lg-3 ">
            <div class="row  ">
                <button class="btn btn-success" onclick="addValue()" >+</button>
                <input class="btn btn-success" name="buyqty" id="buyqty" value="1" />
                <button class="btn btn-success" onclick="downValue()" >-</button>
            </div>
        </div>
        <div class="col-lg-4 ">
            <div class="btn-group-toggle" data-toggle="buttons">
                <button class="btn btn-success btn-block" name="submit" type="submit">
                    <a href="/tienda/proddet/{{farmprod._id}}" >Guardar en Costal</a>
                </button>
            </div>
        </div>
    </div>

tienda.js

const express = require('express');
const router = express.Router();
const Farmprod = require('../models/Farmprod');
const Costal = require('../models/Costal');

router.get('/proddet/:id', async (req, res) => {
    const usid = req.params.id;
    const farmprod = await Farmprod.findOne({_id: usid});
    const slist3 = farmprod.slist3;
    const slist2 = farmprod.slist2;
    const minibann = slist3;
    const slog = "Siempre Frescas";
    res.render('tienda/proddet', { farmprod, slist2, minibann, slog, title: minibann, layout: 'main1' });
});

router.get('/tienda/proddet/:id', async (req, res) => {
    const buyqty = req.params.buyqty;
    console.log(buyqty);
    const productid = req.params.id;
    console.log(productid);
    const userid = req.user.id;
    console.log(userid);
    if(buyqty < 1) {
        console.log('Please add products to your cart');
        return;
    }else{
        const newCostal = new Costal({ userid, productid, buyqty });
        await newCostal.save();
        req.flash('success_msg', 'Producto sumado al Costal');
        return;
}});
module.exports = router;

itemscart.js

function addValue() {
    var value = parseInt(document.getElementById('buyqty').value, 10);
    value = isNaN(value) ? 1 : value;
    value++;
    document.getElementById('buyqty').value = value;
};

function downValue() {
    var value = parseInt(document.getElementById('buyqty').value, 10);
    value = isNaN(value) ? 1 : value;
    value < 1 ? value = 1 : '';
    value--;
    document.getElementById('buyqty').value = value;
};
In console I get 
undefined                   --> buyqty,
5db8a0ea40971709579b4a3c    --> productid,
5da787282db8a21bbcc1dddd    --> userid,

The User._id, farmprod._id show correctly but I don't know how to pass the buyqty variable.
...