传参问题
1. get方式接受请求参数
- get方式请求的参数会拼接在地址栏的后面,参数的格式是
?name=value&name=value...
- express针对前端get方式发送的数据可以通过
req.query来获取
- 后端代码
// cart.js
router.get('/getList', (req,res)=>{
const param = {
username: req.query.name,
id: req.query.userid
}
res.send(param);
})
- 利用apipost测试
![]()
2.post方式接受请求参数
- post方式请求的参数是在请求体里面的
- post方式发送的数据根据content-type不一样主要分为两种格式
- 表单格式
application/x-www-form-urlencoded
- json格式
application/json
- 针对于这两种格式,需要使用到中间件
body-parser
- 安装body-parser
- 导入app.js当成中间件使用
// app.js
const express = require('express');
// 导入依赖
const bodyParser = require('body-parser')
const app = express();
// 使用body-parser中间件
// urlencoded用来解析表单方式发送的数据
app.use(bodyParser.urlencoded())
// json用来解析json格式数据
app.use(bodyParser.json())
- 使用中间件之后我们就可以在post请求里面通过
req.body获取参数 router.post('/add', (req,res)=>{
res.send(req.body);
})
- 利用apipost测试表单格式
application/x-www-form-urlencoded
![]()
- 利用apipost测试json格式
application/json
![]()