[英]req.body is empty in express
我正在使用快速框架在窗口中创建一个 nodejs api。 我已经使用过 body-parser.json()。 但是 req.body 在 linux 中变为空。该程序在 windows 中正常工作,但在 linux 中,req.body 为空,req.body.name 键未定义。
我已经尝试了以下步骤: - app.use(bodyParser.urlencoded({extended:true})) app.use(bodyParser.json())
const express = require('express'),
app = express(),
config = require('./config/configFile'),
route = require('./routes/userRoute'),
bodyParser = require('body-parser'),
mongoose = require('mongoose')
app.use(bodyParser.urlencoded({extended:true}))
app.use(bodyParser.json()) // with this you can send the data to api in json format
app.get('/',(req,res)=>{
res.send({
"message":"API started"
})
})
app.use('/api/',route)
mongoose.Promise = global.Promise
mongoose.connect(config.dbPath,{useNewUrlParser: true})
.then(()=>{
console.log("Db is connected")
}).catch(err=>{
console.log(err)
})
app.listen(config.serverPort,()=>{
console.log('server started')
})
const userModel = require('../models/userModel')
module.exports = {
"registerUser": (req,res)=>{
if(!req.body){
res.status(400).send({
"message": "User Detail Cannot be empty"
})
} else{
const user = new userModel({
name : req.body.name,
email : req.body.email,
password : req.body.password
})
user.save().then(data=>{
res.status(200).send(data)
}).catch(err=>{
res.status(500).send({
"message": err.message || "Something went wrong"
})
})
}
},
"login":(req,res)=>{
res.send({
"message":"This is an register method"
})
}
}
在您的路由文件中,您可以处理 POST 请求,例如,
var express = require('express');
var router = express.Router();
router.post('/', function(req, res, next) {
// req.body will contain the body data.
res.send('respond with a resource');
});
module.exports = router;
您需要使用快速路由器注册您的路线。 您的 userRoute.js 必须看起来像这样。
var express = require('express');
var router = express.Router();
router.post("/registerUser", (req,res)=>{
if(!req.body){
res.status(400).send({
"message": "User Detail Cannot be empty"
})
} else{
const user = new userModel({
name : req.body.name,
email : req.body.email,
password : req.body.password
})
user.save().then(data=>{
res.status(200).send(data)
}).catch(err=>{
res.status(500).send({
"message": err.message || "Something went wrong"
})
})
res.send(req.body)
}
});
router.post("/login", (req,res)=>{
res.send({
"message":"This is an register method"
})
});
module.exports = router;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.