Это потому, что ваш req.body
даст значение undefined
. Поэтому, когда вы пытаетесь выполнить req.body.text
, вы получаете сообщение об ошибке при попытке получить доступ к свойству text
для значения undefined
.
Причина, по которой вы получаете undefined
, заключается в том, что ваш * Приложение 1032 * не может проанализировать тело запроса.
Для этого вам нужно установить зависимость промежуточного программного обеспечения body-parser
,
npm i body-parser
И затем добавьте это промежуточное ПО в ваше express приложение,
const bodyParser = require('body-parser')
app.use(bodyParser.json())
Ссылка: https://expressjs.com/en/resources/middleware/body-parser.html
Вот пример приложения,
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
app.use(bodyParser.json())
app.post('/', (req, res) => {
return res.send(`Hello ${req.body.name}!`)
})
app.listen(3000, () =>
console.log(`Example app listening at http://localhost:${port}`)
)
Теперь, если вы запустите приведенный выше пример приложения с помощью curl,
curl -XPOST localhost:3000 -H "Content-Type: application/json" -d '{"name":"Ram"}'
Вы получите ответ «Hello Ram!»