var express = require('express');
var mysql=require('mysql');
var bodyParser = require('body-parser');
var con=mysql.createConnection({
host:"localhost",
user:"root",
password:"",
database:"nodedb"
});
var app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.post('/reg', function (req, res) {
var name=req.body.user_name;
console.log(name);
con.query("SELECT * FROM users WHERE email = ?", [req.body.email],
function(err,result){
if(result.length > 0){
console.log('mail already exist');
res.json('mail already exist');
}
else{
con.query("INSERT INTO users (`name`,`email`,`contact`,`password`) VALUES (?,?,?,?) ", [req.body.user_name,req.body.email,req.body.contact_no, req.body.user_password],
function(err1,result1){
if(err1){
console.log('failed');
res.json(err1);
}
else{
console.log('1 recoed inserted');
res.json(result1);
}
})
}
})
}
控制台中未定义req.body.user\u name打印, Postman 上为空。它在网页上工作,但在 Postman 上不工作。我现在该怎么办。我看了很多网站,但都没找到答案。
3条答案
按热度按时间qcbq4gxm1#
您可能还没有初始化使用主体解析器的中间件。你可以这样做:
放
app.use(express.json());
在项目的入口点。f0ofjuux2#
在postman的正文中,确保使用raw并将应用程序类型设置为application/json,然后您可以提到
idv4meu83#
您需要选择正确的标题内容类型:x-www-form-urlencoded
希望有帮助。