Javascript 快递/猫鼬寄存要求正文问题?
在localhost上,这可以正常工作,但当我将其放在live server上时,put请求不会粘附在数据库上。特别是对于Javascript 快递/猫鼬寄存要求正文问题?,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,在localhost上,这可以正常工作,但当我将其放在live server上时,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, fun
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);
}
});
},
我能让上述内容在live server上运行的唯一方法是,如果我像下面那样编写要更新的对象。这是不好的,因为应用程序更新的不仅仅是点,它可能会发送一个put来更新{player\u name:req.body.player\u 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);
}
});
},
EDIT:我的快速解决方案是这样做,但我宁愿只使用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);
}
});
},
路线是什么?你是如何定义它的?模型应该很好,我的意思是这在本地运行得很好,也许我需要再次检查,我确实记得对模型进行了更改。路由很好,它在另一个文件中定义,例如,
app.put('api/player/:pid',player.update)
类似的文件。