【发布时间】:2014-04-03 02:45:04
【问题描述】:
当我的 node.js/express 服务器因未能保存对象(发布请求)而遇到错误时,req.param 键重复。
比如我的node.js代码:
User.create({
username: req.param("username")
});
req.param("username") 是“汤姆”
当上面的代码触发错误,我再次重新发送相同的请求时,req.param("username") 变成了["Tom","Tom"]。为什么会这样?我该如何预防?
【问题讨论】:
-
要获得任何真正的帮助,您需要实际向我们展示一些代码,但我猜这是您添加的一些中间件,或者邮政编码很奇怪。
-
我不认为这是必要的想法。我第一次运行创建新用户的请求时,它给了我一个错误。然后我调用相同的请求并且 req.param("username") 重复。
-
两个请求的 url 是什么,快速路由定义是什么样的(例如:
app.get('url_here/:id')) -
请求是 app.post("/user/new", user.postNewUser)。第一次调用 req.param("username") 的只是 Tom。第二次调用,就变成了["Tom","Tom"]
-
如果你想从正文中读取,你应该使用
req.body,而不是req.params。参数用于 url 解析。
标签: javascript node.js express mongoose