POST 请求 returns 未定义
POST request returns undefined
当邮递员使用如下所示的 json 发起请求时,我得到 hello undefined
作为响应。
请求json
{
"name":"test"
}
我的中间件
import express from 'express';
import bodyParser from 'body-parser';
const app = express();
app.use(bodyParser.json());
app.get('/hello', (req, res)=>{
return res.send("hello");
});
app.post('/hello', (req, res)=>{
console.log(req.body);
return res.send(`hello ${req.body.name}`);
})
app.listen(8000, () => console.log('listening on port 8000'));
使用以下命令启动服务器
npx babel-node src/server.js
从 express 4.16.0 开始你可以使用 app.use(express.json());从请求中获取 json 数据,在你的情况下 be.You 不需要使用 bodyparser 和所有。
const app = express();
app.use(bodyParser.json()); // remove this
app.use(express.json())// add this line
实际上问题不在于代码。发出请求的 Postman 客户端没有将其标记为 application/json
类型请求。一旦我纠正它,它就按预期工作了。
将 bodyParser 用作中间件
const app = express();
app.use(bodyParser.urlencoded({ extended: true })); //add this
app.use(bodyParser.json());
还有
app.post('/hello', (req, res)=>{
console.log(req.body);
name.push(req.body.name) // add this if you store in array
return res.send(`hello ${req.body.name}`);
})
当邮递员使用如下所示的 json 发起请求时,我得到 hello undefined
作为响应。
请求json
{
"name":"test"
}
我的中间件
import express from 'express';
import bodyParser from 'body-parser';
const app = express();
app.use(bodyParser.json());
app.get('/hello', (req, res)=>{
return res.send("hello");
});
app.post('/hello', (req, res)=>{
console.log(req.body);
return res.send(`hello ${req.body.name}`);
})
app.listen(8000, () => console.log('listening on port 8000'));
使用以下命令启动服务器
npx babel-node src/server.js
从 express 4.16.0 开始你可以使用 app.use(express.json());从请求中获取 json 数据,在你的情况下 be.You 不需要使用 bodyparser 和所有。
const app = express();
app.use(bodyParser.json()); // remove this
app.use(express.json())// add this line
实际上问题不在于代码。发出请求的 Postman 客户端没有将其标记为 application/json
类型请求。一旦我纠正它,它就按预期工作了。
将 bodyParser 用作中间件
const app = express();
app.use(bodyParser.urlencoded({ extended: true })); //add this
app.use(bodyParser.json());
还有
app.post('/hello', (req, res)=>{
console.log(req.body);
name.push(req.body.name) // add this if you store in array
return res.send(`hello ${req.body.name}`);
})