我正在使用 express 。
这是我尝试过的代码,在 user.controller 中,我未定义。
index.js
const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
var bodyParser = require('body-parser');
const app = express();
//import route
const userRoutes = require('./routes/user');
//use express function
app.use(cors());
app.use(express.json());
app.use(bodyParser.json()); // commenting this line also did not worked
app.use(bodyParser.urlencoded({ extended: true })); // commenting this line also did not worked
app.use(express.urlencoded({ extended: false }));
app.use('/user' , userRoutes);
user.js(路由器)
const express = require('express');
const userController = require('../controller/user.controller');
var router = express.Router();
router.post('/signUp' , userController.signUp);
module.exports = router;
user.controller.js
const userModel = require('../models/user.model');
var userController = {};
userController.signUp = function(req, res){
console.log("it works ======>" , req.body); // here i m getting undefined .
}
module.exports = userController;
我已经浏览了所有的SO链接并尝试了所有的方法,但没有成功,因此我单独询问。
我没有得到这种奇怪的行为。
最佳答案
在 postman 正文选项中,当您选择原始和 JSON postman 会自动添加 Content-Type: application/json
header 。但您似乎取消选中该 header 。
Postman 不会发送未经检查的 header 。所以在express端无法访问请求体。
当您检查(选择)该 header 并尝试时,它将起作用。
如果您使用 Express 版本 4.16+,则无需安装和使用 body-parser
软件包。
关于node.js - 使用 Express 在 Node 中 Req.body 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59451739/