express 如何监听请求,获取参数,返回数据

本文详细介绍了如何使用Express监听HTTP请求,包括GET和POST,以及如何获取query、params和body参数。通过实例演示了使用req.query、req.params和req.body的方法,并提到了Express中解析请求体的中间件body-parser及其简化版express.urlencoded。建议配合Postman工具进行测试验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、监听请求 和 返回数据

1.监听get

// 2.1 设置监听请求 get / post 
// 参数1:客户端请求的 URL 地址; 
// 参数2: 请求对应的处理函数 ,
// 其中req 请求对象;res 响应对象
app.get('/require',(req,res)=>{
    // 2.2 res.send() 将处理好的内容,发送给客户端
    res.send('客户端发起了 GET 请求 ,服务器接收到了,已响应')
})

2.监听post

// 监听post ,参数和get一样
app.post('/require',(req,res)=>{
    res.send('客户端发起了 POST 请求 ,服务器接收到了,已响应')
})

 3.接受数据,使用res.send()方法

    // 2.2 res.send() 将处理好的内容,发送给客户端
    res.send('客户端发起了 GET 请求 ,服务器接收到了,已响应')

在写好之后,可以使用Postman 来进行检测

 

 二、获取对应的参数 query,params以及其他参数

1. 使用req.query 获取query参数

app.get('/require',(req,res)=>{
    // 3.1 req.query 获取query参数 默认 空对象
    // 3.2 路上是以 ?k1=v1&k2=v2 这种格式发送的
    // 3.3 以 req.query.k1  req.query.k2 获取
       let k1=req.query.k1
       let k2=req.query.k2
    // 2.2 res.send() 将处理好的内容,发送给客户端
   res.send('客户端发起了 GET 请求 ,服务器接收到了,已响应'+'\n'+'query参数是\nk1:'+k1+"\n k2:"+k2)
})

postman 测试

在params面板内,既可以添加query参数,使用的是键值对 key:value

 2.使用req.params 获取params 参数

app.post('/require/:id',(req,res)=>{
    // 3.2.1 req.params 获取 params 参数 默认空对象
    // 3.2.2 在路径上以占位符显示 /require/:id
    // 3.2.3 以 req.params.id 获取 即占位的键名 
    let id = req.params.id
    res.send('客户端发起了 POST 请求 ,服务器接收到了,已响应\n'+'params参数 \n'+'id:'+id)
})

postman测试

params参数是携带在路径上的

 3、携带的data数据。使用req.body 来获取数据

“req.body”用于获取请求中的数据;

由于解析body不是nodejs默认提供的,所以该方法需要载入“body-parser”中间件才可使用,并且该方法通常用于解析POST请求的数据,语法为“req.body.name”。

Express 内置的 express.urlencoded 中间件,就是基于 body-parser 这个第三方中间件进一步封装出来的。

所以可以直接使用express.urlencoded 来进行解析

启动文件app.js 内 使用中间件

// 使用express内置的中间件来对请求体数据进行解析 URL-encoded 格式的请求体数据
app.use(express.urlencoded({extended:false}))

 在处理函数内

// 设置获取 req.body 的请求
app.post ('/body',(req,res)=>{
    let name = req.body.name
    let nickName = req.body.nickName
    res.send("post请求,body内的数据是\n"+"name:"+name+"\nnickName:"+nickName)
}) 

postman测试

在Body面板内,选择x-www-form-urlencoded格式,添加数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值