Javascript Express bodyparser isn';t工作不正常
要设置bodyparser,我使用以下代码:Javascript Express bodyparser isn';t工作不正常,javascript,node.js,express,body-parser,Javascript,Node.js,Express,Body Parser,要设置bodyparser,我使用以下代码: const express = require('express') const app = express(); const bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); 现在,如果我的快速路由器中有以下POST路由: var router = requ
const express = require('express')
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
现在,如果我的快速路由器中有以下POST路由:
var router = require('express').Router();
router.post('/sendadvertisement', async (req, res) => {
console.log(req.body)
});
结果是[Object:null-prototype]{advision:'test'}
->我的req.body
不是空的,因为它在我的控制台输出中是json格式的
我真的不明白这个结果是如何发生的,因为我定义了主体应该是json格式的。
我还用app.use(express.json())试用了它。,也不起作用。我用app替换了路由器,一切正常 Router.get/post etc仅用于在安装了诸如
app之类的中间件功能后定义子路由。使用('route')
处理路由。如果你想使用路由器,你应该使用app.use(…)
挂载路由,然后使用router.post(…)
另见:
如果您使用的是express,那么您可以使用此代码来设置身体解析器
app.use(express.json( {extended:false} ));
app.use(express.urlencoded({extended: false}));
app.use(bodyParser.urlencoded({extended:false}));
use(bodyParser.json());
这也是一个错误,提交后页面会滚动。可能的重复:@S.Kuiter已经阅读了本文。可能的重复不是一个解决方案,它只是告诉我们它与路线有关编辑我的答案如果您有新问题,请单击按钮提问。如果此问题有助于提供上下文,请包含指向此问题的链接-
app.use(express.json( {extended:false} ));
app.use(express.urlencoded({extended: false}));