req.body 在邮递员上运行时说未定义
Posted
技术标签:
【中文标题】req.body 在邮递员上运行时说未定义【英文标题】:req.body is saying undefined while running on postman 【发布时间】:2019-01-06 12:32:12 【问题描述】: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_name 在控制台中打印未定义,在邮递员上打印为空。它 正在网页上工作,但不在邮递员上。我现在该怎么办。我查看了许多网站,但没有得到答案。
【问题讨论】:
你试过记录请求吗,console.log(req,body); ? 我做了控制台(req.body)它正在打印空白 json 。 【参考方案1】:您需要选择正确的标题内容类型:x-www-form-urlencoded
希望对你有帮助。
【讨论】:
我的口碑低于15,所以不会显示。我想你知道。 谢谢 t3__rry :)【参考方案2】:在postman的正文中,确保你使用的是raw,并将Application类型设置为Application/json,然后你可以提及
"user_name": "Your_name"
【讨论】:
【参考方案3】:您可能尚未初始化中间件以使用正文解析器。你可以这样做:
将app.use(express.json());
放入项目的入口点。
【讨论】:
以上是关于req.body 在邮递员上运行时说未定义的主要内容,如果未能解决你的问题,请参考以下文章