Express app.post请求不响应Postman POST请求

时间:2017-01-18 02:32:13

标签: javascript express postman

我正在尝试使用Postman向我的快递应用程序发出简单的POST请求,但是帖子请求超时。

以下是请求:

<code>http://localhost:3000/?inviteCode=12</code>

这是应用程序:

import express from 'express'
import bodyParser from 'body-parser'
import path from 'path'

const app = express()

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.post('/', (req,res) => {
  console.log(req.body)

  if (req.body.inviteCode === "12") {
      res.json({value: "success"}) 
  } else {
      res.json({value: "fail"})
  }
})

app.listen(process.env.PORT || 3000, () => {
  console.log(`App listening on ${process.env.PORT || 3000}`)
})

console.log(req.body)打印出一个空对象{}

知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

您没有在Postman的POST参数中包含inviteCode(如屏幕截图所示,“正文”标签下的键值条目),而是将inviteCode作为网址传递查询参数,将在req.query.inviteCode

中设置

要从查询参数(在URL中)使用它,请匹配您的邮递员请求:

app.post('/', (req,res) => {
  req.query.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"})
})

或者在POST正文中使用它,这需要修复你的邮递员请求:

app.post('/', (req,res) => {
  console.log(req.body)

  req.body.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"})
})