node.js - 请求正文有值(value),但我无法访问它

标签 node.js express mongoose

我目前正在做一些从 angular2 前端到 express 后端的用户注册。除了从请求正文中获取值外,一切正常。看看这个。

用户路由.js

userRouter.route('/signup')
    .post(function(req, res){
      console.log(req.body);
      mongoose.connect(url, function(err){
        var user = {
          username: req.body.username,
          password: req.body.password,
          firstname: req.body.firstname,
          lastname: req.body.lastname,
          gender: req.body.gender,
          address: req.body.address,
          contact: req.body.contact,
          email: req.body.email
        };
        console.log(user);
        users.create(user, function(err, results){
          // res.redirect('http://localhost:4200/login');

          //tobeChanged
          console.log(results);
          mongoose.disconnect();
        });
      });
    });

在第一个 console.log 上,我试图查看 req.body 上是否有值,然后在第二个 console.log 上,我试图查看 user 变量得到了一些值(value)。这就是发生的事情。

enter image description here

如我们所见,user 变量没有值,但我通过 req.body.name 访问它。有人可以帮我澄清一下吗?

可选问题:那些\n 困扰着我。如何摆脱它?

最佳答案

问题:

此处您的请求对象的范围不同。你想在函数回调中使用请求对象。

So one thing you can do is passing that value which calling callback.

解决方法: 改变这个

mongoose.connect(url, function(err){

为此

mongoose.connect(url, function(err,req){

希望这会有所帮助。谢谢

关于node.js - 请求正文有值(value),但我无法访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177291/

相关文章:

javascript - 在 map() 函数中为 axios 请求设置延迟/超时

Apache 将流量从端口 80 路由到其他端口

node.js - gulp.dest 挂起复制 Electron 构建应用程序(macoS)

node.js - 如何使用 Mongoose 将单个文档从 MongoDB 检索到 javascript?

javascript - NodeJs - 优化多个if

javascript - 如何将一个 POST 请求转发到两个外部 url?

javascript - 更新 MongoDB 的路由和模型会删除数据或引发错误

javascript - Nodejs 网站不显示第二个 mysql 表值

node.js - 使用 fs 流获取图片的 api 使用 connect-history-api-fallback 返回 304

javascript - 根据 Group Mongoose 查找最新记录