Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript express.js req.body始终为空_Javascript_Node.js_Express - Fatal编程技术网

Javascript express.js req.body始终为空

Javascript express.js req.body始终为空,javascript,node.js,express,Javascript,Node.js,Express,我正在学习node.js和express.js,当我发布一些东西时,我的身体是空的 我所做的是尝试从注册表中获取输入。 我的app.js是(相关部分): users.js是: var express = require('express'); var router = express.Router(); // Add model for user. // Note that variable has first uppercase, and model name is singular. va

我正在学习node.js和express.js,当我发布一些东西时,我的身体是空的

我所做的是尝试从注册表中获取输入。 我的app.js是(相关部分):

users.js是:

var express = require('express');
var router = express.Router();

// Add model for user.
// Note that variable has first uppercase, and model name is singular.
var User = require('../models/user');

/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

router.get('/register', function(req, res, next) {
  res.render('register', {
    'title': 'Register'
  });
});

router.get('/login', function(req, res, next) {
  res.render('login', {
    'title': 'Login'
  });
});

router.post('/register', function(req, res, next) {
  // These values come from the form.control name in register.jade
  console.log('Register clicked...');
  console.log('Body: ', req.body);

});

module.exports = router;
而register.jade是:

extends layout

block content
  h1 Register
  p Please register using the form below
  ul.errors
        if errors
                each error, i in errors
                    li.alert.alert-danger #{error.msg}
  form(method='post', action='/users/register', enctype='multipart/form-data')
      .form-group
          label Name
          input.form-control(name='name', type='text', placeholder='Enter Name')
      .form-group
          label Email
          input.form-control(name='email', type='text', placeholder='Enter Email')
      .form-group
          label Username
          input.form-control(name='username', type='text', placeholder='Enter Username')
      .form-group
          label Password
          input.form-control(name='password', type='password', placeholder='Enter password')
      .form-group
          label Confirm Password
          input.form-control(name='password2', type='password', placeholder='Confirm password')
      .form-group
          label Profile Image
          input.form-control(name='profileimage', type='file')
      input.btn.btn-default(name='submit', type='submit', value='Register')
怎么了?????我快疯了:-(

谢谢

您可以在app.js中尝试:

var routes = require('./routes')
app.use(routes)
您可以在app.js中尝试:

var routes = require('./routes')
app.use(routes)

在你的app.js中应该有
app.use('/users',users);
在你的
app.use之后,确保这是,因为主体解析器将填充
req.body

如果不需要上传文件或使用users.js中的多部分解析器,还应删除
enctype='multipart/form data'

var multer = require('multer');
var upload = multer({ dest: 'uploads/' });
router.post('/register', upload, function(req, res) {

在你的app.js中应该有
app.use('/users',users);
在你的
app.use之后,确保这是,因为主体解析器将填充
req.body

如果不需要上传文件或使用users.js中的多部分解析器,还应删除
enctype='multipart/form data'

var multer = require('multer');
var upload = multer({ dest: 'uploads/' });
router.post('/register', upload, function(req, res) {

请添加在app.jsvar users=require('./routes/users')中添加用户路由的部分;这是您需要的部分,但在您提供的代码中,您不会对
用户
执行任何操作。请添加在app.jsvar users=require('./routes/users')中添加用户路由的部分;这是您需要它的地方,但在您提供的代码中,您不需要对
用户执行任何操作。我有它:在app.use之后(bodyParser.urlcoded({extended:true}));app.use(bodyParser.json());我有app.use('/',routes);app.use('/users',users);是的,应该删除文件编码,因为您发送的是JSON,而不是JSONfile@Sandman42:不,完全没问题,我忘了在我最后的评论中添加
@nem:
,他提到没有文件上传。我有:在app.use之后(bodyParser.urlcoded({extended:true}));app.use(bodyParser.json());我有app.use('/',routes);app.use('/users',users);是的,应该删除文件编码,因为您发送的是JSON,而不是JSONfile@Sandman42:不,完全没有问题,我忘了在我的最后一条评论中添加
@nem:
,他提到没有文件上传。你能解释一下这个代码的作用,放在哪里,以及相关文档的链接(如果存在的话)?请把它写进你的答案中。你能解释一下这个代码的作用,放在哪里,以及相关文档的链接(如果有)吗?请把它写进你的答案中。