Ошибка «Гордость не определена» при использовании app.post в Express - PullRequest
0 голосов
/ 02 апреля 2019

После этого курса на NodeJS здесь: https://app.pluralsight.com/player?course=api-design-nodejs-express-mongo&author=scott-moss&name=91bae158-711d-4af0-a44d-7f48435436b9&clip=3&mode=live

https://github.com/leongaban/api-design-node/blob/step-2-fix/server/server.js

У меня есть следующий простой сервер:

const express = require('express')
const app = express()
const bodyParser = require('body-parser')
const path = require('path')
const port = 3000

app.use(express.static('client'))
app.use(bodyParser.urlencoded({ extended: true }))

const lions = []
let id = 0

app.get('/lions', function(req, res) {
  res.json(lions)
})

app.get('/lions:id', function(req, res) {
  let paramId = req.param.id
  let lion = lions.filter((lion.id === paramId))
  res.json(lion || {})
})

app.post('/lions', function(req, res) {
  let lion = req.body
  id++
  lion.id = id + ''

  console.log('lion', lion)

  lions.push(lion)

  res.json(lion)
});

app.listen(port, () => console.log(`NODE RUNNING on port: ${port}`))

В коде клиента внешнего интерфейса я могу отправить следующие данные запроса:

enter image description here

age: "3"
gender: "female"
name: "1"
pride: "2"

Однако на сервере мой журнал console.log('lion', lion) возвращает только это: lion { id: '1' } req.body пуст.

Затем в консоли внешнего интерфейса я получаю эту ошибку:

VM1567: 3 Uncaught (в обещании) ReferenceError: гордость не определена

Мысли о том, где ожидается гордость? И почему на сервере пусто req.body?

1 Ответ

0 голосов
/ 02 апреля 2019

Я забыл использовать это промежуточное ПО:

app.use(bodyParser.json())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...