【发布时间】:2015-11-08 14:41:53
【问题描述】:
关于如何使用 POST 和 PUT,我有一些不明白的地方
首先,如果您有一个带有method="post" 的表单,您可以使用 app.put("/path") 更改数据吗?
我知道我可以通过将 app.post() 与猫鼬一起使用来更改 req.body.name 中的特定数据。那么我为什么需要 PUT?
其次,我注意到如果您在表单上使用method="PUT" 并单击提交,我会在 url 中获得数据的查询字符串。即使我使用res.redirect("/path"),我也会得到查询字符串并且页面不会重定向。这正常吗?为什么我得到查询字符串?为什么不重定向
app.put("/myaction", function(req, res){
//originally i had it at req.body.name then browser said that it "cannot POST"
//so I changed the method to PUT so thats why used req.query.name because I got
//the query string. if
name = req.query.name;
Name.findOneAndUpdate({name : name}, {name : " Itwas changed through PUT "}, function(err, result){
console.log("result : ", result);
res.redirect("/result")
})
})
如果我应该得到这些查询字符串,我应该如何更新数据库?
我还注意到,如果你有 app.post("/path") 和 app.put("/path") express 将使用 app.post 尤其是当你有 method="post" 所以你应该使用如果要允许用户在输入时更改姓名,是否要使用相同的表单?在这种情况下,新名称将是 'Itwas changed through PUT'
【问题讨论】:
标签: javascript node.js http express