req.body在postman上运行时表示未定义

yizd12fk  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(305)
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 上不工作。我现在该怎么办。我看了很多网站,但都没找到答案。

qcbq4gxm

qcbq4gxm1#

您可能还没有初始化使用主体解析器的中间件。你可以这样做:
app.use(express.json()); 在项目的入口点。

f0ofjuux

f0ofjuux2#

在postman的正文中,确保使用raw并将应用程序类型设置为application/json,然后您可以提到

{
  "user_name": "Your_name"    
}

idv4meu8

idv4meu83#

您需要选择正确的标题内容类型:x-www-form-urlencoded

希望有帮助。

相关问题