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}`))
在前端客户端代码中,我可以发送以下请求数据:
age: "3"
gender: "female"
name: "1"
pride: "2"
但是在服务器中,我的日志console.log('lion', lion)
仅返回以下内容:lion { id: '1' }
req.body
为空。
然后在前端控制台中出现此错误:
VM1567:3未捕获(承诺)ReferenceError:未定义骄傲
关于应该在哪里骄傲的想法?以及为什么req.body
在服务器上为空?
答案 0 :(得分:0)
我忘记使用此中间件:
app.use(bodyParser.json())