由CURL发送的发帖请求已正确解析,但是从邮递员发来时,我得到了未定义的数据

时间:2019-01-25 16:44:22

标签: node.js postgresql express

由于要设置身份验证服务,因此我正在学习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

有效。不知道为什么吗?

1 个答案:

答案 0 :(得分:0)

您必须更改邮递员头设置。尝试将标头内容类型的值更改为application / json并将主体更改为raw。