Javascript 使用postman Express发送带有原始json的POST数据

Javascript 使用postman Express发送带有原始json的POST数据,javascript,json,node.js,express,postman,Javascript,Json,Node.js,Express,Postman,我正在尝试记录所有数据,然后将其作为响应返回 app.post('/data', (req, res) => { const data = req.body console.log(data) return res.json({ data }) }) 我正在和邮递员一起发送数据。在Body选项卡中,我选择了“raw”和“JSON(application/JSON)”。标题选项卡是内容类型application/json。我发这个: { "aa"

我正在尝试记录所有数据,然后将其作为响应返回

app.post('/data', (req, res) => {
  const data = req.body
  console.log(data)
  return res.json({
    data
  })
})
我正在和邮递员一起发送数据。在Body选项卡中,我选择了“raw”和“JSON(application/JSON)”。标题选项卡是内容类型application/json。我发这个:

    {
      "aa": 23
    }

单击“发送”按钮时,我得到的是一个空对象,并且数据变量在我的console.log中未定义。如何修复它?我仔细检查了一切。它应该可以工作,但不能工作。

看起来您正在向res.JSON()传递一个无效的值。尝试:


好的,我找到了解决办法

“由于正文解析器模块用于解析正文和URL,因此应在调用'req.body…'之前调用它。”

所以我这样做了:

import bodyParser  from 'body-parser'

const app = express()
app.use(bodyParser.urlencoded())
app.use(bodyParser.json())

app.post('/data', (req, res) => {
  const data = req.body
  console.log(data)
  return res.json({
    data
  })
})

现在它工作正常。

您是否安装了中间件来处理请求后的数据,例如body parser?不一定是完全有效的JS属性shorthandNow我在body中没有得到任何信息,并且数据变量在console.log中仍然没有定义。
import bodyParser  from 'body-parser'

const app = express()
app.use(bodyParser.urlencoded())
app.use(bodyParser.json())

app.post('/data', (req, res) => {
  const data = req.body
  console.log(data)
  return res.json({
    data
  })
})