express中如何自定义中间件解析表单数据
dearweb
发布:2021-11-14 18:52:39阅读:
在express中如何自定义中间件解析表单提交的数据,本文将为大家介绍一下
创建一个服务
创建一个post服务用来接收客户端的post请求
// 自定义中间件
const express = require('express')
const app = express()
app.post('/',(req,res)=>{
// req.body 接受客户端的请求体数据
// 如果不配置解析表单数据的中间件,req.body 默认等于 undefind
console.log(req.body)
res.send('home')
})
app.listen(80,()=>{
})自定义一个中间件
创建中间件,并在其中监听用户端提交的数据,监听 data 事件,获取用户的请求体数据,监听 end 事件,获取完整的请求体数据
// 自定义中间件 解析表单数据
app.use((req,res,next)=>{
// 定义变量 用来存储客户端发送过来的请求体数据
let str =""
// 监听 req 对象的 data 事件,客户端发送过来的新的请求体数据
req.on('data',(chunk)=>{
// 拼接请求体数据
str += chunk
})
// 监听end 事件获取完整的 请求体数据
req.on('end',()=>{
// 完整的请求体数据
console.log(str)
})
next()
})引用node内置的方法 querystring
通过querystring 模块中的parse() 方法将查询的结果转换为对象
// 导入处理json querystring 的node内置模块
const qs = require('querystring')
// 调用 querystring 中的 parse() 方法,把查询字符串解析为对象
const body = qs.parse(str)整体的代码展示
// 自定义中间件
const express = require('express')
const app = express()
// 导入处理json querystring 的node内置模块
const qs = require('querystring')
// 自定义中间件 解析表单数据
app.use((req,res,next)=>{
// 定义变量 用来存储客户端发送过来的请求体数据
let str =""
// 监听 req 对象的 data 事件,客户端发送过来的新的请求体数据
req.on('data',(chunk)=>{
// 拼接请求体数据
str += chunk
})
// 监听end 事件获取完整的 请求体数据
req.on('end',()=>{
console.log(str)
// 调用 querystring 中的 parse() 方法,把查询字符串解析为对象
const body = qs.parse(str)
})
next()
})
app.post('/',(req,res)=>{
// req.body 接受客户端的请求体数据
// 如果不配置解析表单数据的中间件,req.body 默认等于 undefind
console.log(req.body)
res.send('home')
})
app.listen(80,()=>{
})小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧