Node.js 在express router中记录空对象的主体解析器

Node.js 在express router中记录空对象的主体解析器,node.js,express,express-router,Node.js,Express,Express Router,由于某些原因,我可以在我的路线上的express服务器中看到我的req.body req body is [Object: null prototype] { '{"password":"xxxxxxxx"}': '' } 但是当我记录req.body.password(对象密钥)时,我得到 这是我的索引路由器,供我的express应用程序参考 var express = require('express'); var router = express.Router(); var bodyPa

由于某些原因,我可以在我的路线上的express服务器中看到我的req.body

req body is [Object: null prototype] { '{"password":"xxxxxxxx"}': '' }
但是当我记录req.body.password(对象密钥)时,我得到

这是我的索引路由器,供我的express应用程序参考

var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser')
const path = require('path');

/* GET adminPanel. */
router.post('/authenticate', function(req, res, next) {

  console.log('req body is',req.body.password)
  res.send("passconfirmed");
});

module.exports = router;

如果您使用的是
body解析器

在路由中使用解析数据之前,必须启用主体解析器

在导入所有lib的主模块中,需要声明express以使用body解析器中间件

const express = require('express')
const bodyparser = require('body-parser')
const app = express()
app.use(bodyparser.json())
app.use(bodyparser.urlencoded({ extended : true }))
...
//here comes your routes
在包含
bodyparser中间件之后,您可以在路由中使用解析数据

请注意,如果您使用的是
express
version>=
4.16
,那么主体解析器将与express捆绑在一起。您只需将代码更改为:

const express = require('express')
const app = express()
app.use(express.json()); //this line activates the bodyparser middleware
app.use(express.urlencoded({ extended: true }));

这样做可以安全地删除
主体解析器
包。

如果您使用的是
主体解析器

在路由中使用解析数据之前,必须启用主体解析器

在导入所有lib的主模块中,需要声明express以使用body解析器中间件

const express = require('express')
const bodyparser = require('body-parser')
const app = express()
app.use(bodyparser.json())
app.use(bodyparser.urlencoded({ extended : true }))
...
//here comes your routes
在包含
bodyparser中间件之后,您可以在路由中使用解析数据

请注意,如果您使用的是
express
version>=
4.16
,那么主体解析器将与express捆绑在一起。您只需将代码更改为:

const express = require('express')
const app = express()
app.use(express.json()); //this line activates the bodyparser middleware
app.use(express.urlencoded({ extended: true }));

这样做,您可以安全地删除
正文解析器
包。

要访问正文的内容,请在处理程序之前在中间件中解析传入的请求正文,该中间件位于req.body属性下

您需要安装
主体解析器

npmibody解析器--保存

现在在项目中导入
body解析器
。 应该在定义的路由函数之前调用它

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser')
const path = require('path');

app.use(bodyParser.json());
app.use(bodyparser.urlencoded({ extended : true }));

/* GET adminPanel. */
router.post('/authenticate', function(req, res, next) {

  console.log('req body is',req.body.password)
  res.send("passconfirmed");
});

module.exports = router;

要访问主体的内容,请在处理程序之前在中间件中解析传入的请求主体,该请求主体位于req.body属性下

您需要安装
主体解析器

npmibody解析器--保存

现在在项目中导入
body解析器
。 应该在定义的路由函数之前调用它

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser')
const path = require('path');

app.use(bodyParser.json());
app.use(bodyparser.urlencoded({ extended : true }));

/* GET adminPanel. */
router.post('/authenticate', function(req, res, next) {

  console.log('req body is',req.body.password)
  res.send("passconfirmed");
});

module.exports = router;

谢谢我使用了发电机,但忘了它不在我的应用程序中。谢谢!我用了一个发电机,但忘了它不在我的app.js中