一、express框架提供三种方法来实现获取请求中的参数:
req.query 获取到客户端提交到服务器的 查询参数
req.params 获取到客户端提交到服务器的 查询参数
req.query、req.params 获取的是地址中的参数,而不是get或post请求参数req.body
1.1、获取参数一
url格式: http://127.0.0.1:3001/user?id=10&name=zs
// 请求url:
const express = require('express')
const app = express()
// 监听客户端的 get 请求
app.get('/user', (req, res) => {
// 服务器,可以直接通过 req.query 属性,获取到客户端提交到服务器的 查询参数
console.log(req.query) // 参数组成的对象 { id: "10" , name: "zs"}
res.send('ok')
})
app.listen(3001, () => {
console.log('server running at http://127.0.0.1:3001')
})
1.2、获取参数二
Restful格式: http://127.0.0.1:3001/user/11/ls
// URL 规则中的 : 表示参数项;
app.get('/user/:id/:name', (req, res) => {
console.log(req.params) // 参数组成的对象 { id: "11" , name: "ls"}
res.send('ok')
})
二、获取post表单提交的参数
- 借助于body-parser来解析表单数据
-
根目录安装:
npm i body-parser -S
- 导入:const bodyParser = require('body-parser')
- 注册中间件:app.use(bodyParser.urlencoded({ extended: false }))
- 使用解析的数据: req.body 来访问解析出来的数据
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
// 注册 body-parser 中间件,来解析Post提交过来的表单数据
app.use(bodyParser.urlencoded({ extended: false }))
// 监听客户端 post 请求
app.post('/user', (req, res) => {
// 注意:如果在项目中,想要通过 req.body 获取客户端提交的表单数据,
// 必须 先注册 body-parser 中间件才可以!
console.log(req.body) // { name: 'zs', age: '18' }
res.send('ok')
})
app.listen(3001, () => {
console.log('server running at http://127.0.0.1:3001')
})
网友评论