一、监听请求 和 返回数据
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格式,添加数据