由于要设置身份验证服务,因此我正在学习Node.js。我在从请求中解析正文时遇到问题。
这是我的index.js文件
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const db = require('./queries')
const port = 3000
app.use(express.json());
app.use(bodyParser.json())
app.use(
bodyParser.urlencoded({
extended: true,
})
)
app.get('/', (request, response) => {
response.json({ info: 'Node.js, Express, and Postgres API' })
})
app.post('/login',function(req,res){
var username=req.body.username;
var password=req.body.password;
console.log("User name = "+username+", password is "+password);
res.end("yes");
});
这是打印在控制台上的:
bash-3.2$ node index.js
App running on port 3000.
Username = undefined, password is undefined
但是当我使用CURL
curl --data "username=Jerry&password=jerry@example.com" http://localhost:3000/login
有效。不知道为什么吗?
答案 0 :(得分:0)
您必须更改邮递员头设置。尝试将标头内容类型的值更改为application / json并将主体更改为raw。