私は新しい価格を得るたびに、次が起こることになっている変数の更新データます: totalprice = totalprice +カートを[i]は例えば 、totalpriceが以前500とした場合新しい価格は800、総額は(500 + 800 +)、現在は(500 + 500 + 800)です。なぜこれが起こるのですか?セッションは二度
exports.add = function(req, res) {
var cart = req.body.cart;
console.log('frome node..adding checkcart.js');
console.log("Session Initialized!!");
for(var i = 0 ; i < cart.length ; i++) {
totalprice = cart[i].price + totalprice;
console.log('Current Price: '+cart[i].price);
}
req.session.cart = cart;
console.log(cart);
console.log('total: ' + totalprice);
//req.session.totalprice = totalprice;
json_responses = {
"totalprice": req.session.totalprice
}
res.send(json_responses);
};
は、例えば –
フロームnode..adding checkcart.js としてコンソールログを追加[{UID: 'lenvyga'、製品 'レノボヨガ'、価格:800}] セッション初期化! 現在の価格:800 合計:800 POST/addtocart 200の117.127 MS - 2 フロームのnode..addingのcheckcart.js [{UID: 'lenvyga'、製品 'レノボヨガ'、価格:800}、{ uid: 'macbpr'、製品: 'MacBook Pro'、価格:1200}] セッションが初期化されました! 現在の価格:800 現在の価格:1200 合計:2800 – jack
どこに問題がありますか? まず、総額は0です。コンソールログに記載されているように、800を追加すると800に変更されます。次に、さらに2つの(1)800と(2)1200を追加します。したがって、合計価格(現在は800)をとり、価格(1)と(2)を追加します。これは800 + 1200 + 800を2800としています。つまり、正確には(コンソールログに基づいて)取得したものです。 –