2017-06-30 120 views
1

我無法弄清楚這一點。用完燃料。需要指導。通過html輸入

我只是希望我的購物車更新到html頁面中表單中放置的項目數量。起初這似乎是一件容易的事,但幾小時後幾小時,我無法弄清楚。我在想身體解析器,但不知道如何實現它。

我試圖抓住產品ID和身體解析它在我的後路線一次,但我似乎無法得到正確的替換數量。我還試圖查看是否有方法將身體解析器表單數據發送到我的更新函數......但是沒有運氣。

我知道有人會說「哦,這很容易,你不能得到這個???」但我真的不知道該去哪裏去幫助我完成這個任務。

這裏是我的終端

Bag { 
    items: { '5952b830d9b287b339b92dc3': { item: [Object], qty: 'How do i link this to req', price: 350 } }, 
    totalQty: 1, 
    totalPrice: 350, 
    add: [Function], 
    update: [Function], 
    reduceByOne: [Function], 
    removeItem: [Function], 
    generateArray: [Function] } 
POST /updatebag/5952b830d9b287b339b92dc3 302 285.498 ms - 96 
GET /bag/ 304 179.207 ms - - 

這是我更新的購物車方法

this.update = function(req, id) { 
     var storedItem = this.items[id]; 


     storedItem.qty = 'How do i link this to req'; 

    }; 

這是帖子的路線

router.post('/updatebag/:id', function(req, res, next) { 
    var productId = req.params.id; 
    var bag = new Bag(req.session.bag ? req.session.bag : {items: {}}); 

    Product.findById(productId, function(err, product) { 
     if (err) { 
      return res.redirect('/'); 
     } 
     bag.update(product, product.id) 
     req.session.bag = bag; 
     console.log(req.session.bag); 
     res.redirect('back'); 
    }); 
}); 

編輯:對不起我筋疲力盡哈哈完全忘了提及我試圖改變產品的數量,可以通過文本「我如何鏈接到需求」來查看在我的終端中。

回答

0

我解決了這個問題!這有點混亂,但如果你有問題,你可以嘗試做這樣的事情。如果你有任何批評,請不要猶豫,打你所有的東西。

我的新航站樓

Bag { 
    items: { '5952b830d9b287b339b92dc3': { item: [Object], price: 350, qty: '29' } }, 
    totalQty: 1, 
    totalPrice: 350, 
    add: [Function], 
    update: [Function], 
    reduceByOne: [Function], 
    removeItem: [Function], 
    generateArray: [Function] } 
POST /updatebag/5952b830d9b287b339b92dc3 302 163.569 ms - 96 
GET /bag/ 200 176.010 ms - 7497 

新更新的購物車方法

this.update = function(req, id) { 
     var storedItem = this.items[id]; 
     storedItem.qty = updateqty.qty; 

    }; 

新話題路線

router.post('/updatebag/:id', function(req, res, next) { 
    var productId = req.params.id; 
    var bag = new Bag(req.session.bag ? req.session.bag : {items: {}}); 

    Product.findById(productId, function(err, product) { 
     if (err) { 
      return res.redirect('/'); 
     } 
     updateqty.qty = req.body.qty; 
     bag.update(product, product.id); 

     req.session.bag = bag; 
     console.log(req.session.bag); 
     res.redirect('back'); 
    }); 
}); 

的新架構添加我爲我的更新數量

var mongoose = require('mongoose'); 
var mongoosastic = require("mongoosastic"); 
var Schema = mongoose.Schema; 

var updateqty = new Schema({ 
    qty: { type: String, unique: true, lowercase: true}, 
}); 


module.exports = mongoose.model('updateqty', updateqty);