nodejs全局参数解析中间件
- get方式
/*
参数解析
get方式 浏览器地址栏携带参数
request.url 中 存储 浏览器地址栏数据
通过 url内置模块 可以 解析获取携带参数
设定解析模式为深度解析 解析结果是 对象形式
*/
// 仅供参考
// 导入 url模块
const url = require('url')
// 退出登录
function outLoginHandler(request, response) {
// get参数解析
console.log(url.parse(request.url, true).query)
const { id } = url.parse(request.url, true).query
response.send({ code: 1, msg: '已接收到请求', data: { id } })
}
// 导出
module.exports = { outLoginHandler }
- post方式
/*
post方式 请求体携带参数
需要使用 body-parser 依赖包 完成请求体中携带参数的解析
可以 下载成 项目依赖包
也可以不下载 高版本 express 自带这个依赖包
执行安装命令
npm i parser
配置好 依赖包的规范配置
解析的结果 会自动设定到 request.body 中
*/
// 仅供参考
// app.js文件中
// 导入 body-parser依赖包
const body = require('body-parser')
// 以普通字符串形式携带参数
server.use(body({ extended:false }));
// 以json字符串形式携带参数
server.use(body.json());
// login.js文件中
function loginHandler(request,response){
// post参数解析
let {name,pwd} = request.body
response.send({code:1 , msg:'正常接收到请求' , data:{ name , pwd } })
}
// 导出
module.exports={loginHandler}