在localhost上工作正常,但是当我把它放在实时服务器上时,put请求不会粘在数据库上。特别是req.body
,我必须定义我要发送的属性{points: req.body.points}
update: function(req, res) {
console.log("PUT received: " + req.body.points);
models.Player.update({ _id: req.params.pid }, req.body, function(err, player) {
if (err) {
res.json({error: 'Player not found.'});
} else {
res.json(player);
}
});
},
如果我将对象写入如下更新,那么我可以让上述工作在实时服务器上的唯一方法是。这不是很好,因为应用程序更新的不仅仅是积分,它可能会发送更新{player_name: req.body.player_name}
,我知道我的意思。
我不明白为什么req.body
不起作用,通常会这样做!!
update: function(req, res) {
console.log("PUT received: " + req.body.points);
models.Player.update({ _id: req.params.pid }, {points: req.body.points}, function(err, player) {
if (err) {
res.json({error: 'Player not found.'});
} else {
res.json(player);
}
});
},
编辑:我的快速解决方案就是这样做,但我宁愿只使用req.body
对象,它是什么原因不起作用?
update: function(req, res) {
var test = {
player_name : req.body.player_name,
player_picture : req.body.player_picture,
bench : req.body.bench,
points : req.body.points,
rebounds : req.body.rebounds,
steals : req.body.steals,
blocks : req.body.blocks,
fouls : req.body.fouls,
team_id : req.body.team_id,
}
models.Player.update({ _id: req.params.pid }, test, function(err, player) {
if (err) {
res.json({error: 'Player not found.'});
} else {
res.json(player);
}
});
},