node.js:<3>使用express创建服务器和获取请求

说到创建服务器,我们已经不陌生了,之前我们讲过创建一个服务器的模块http,大家不熟悉得可以到我的专栏去了解一下;

我们为什么要用express? 答案是开发效率高,而且更加方便功能更多,因为express是基于http开发出来的。

那话不多说,我们直接进入正题:

1、安装模块:

打开终端输入下面命令就可以安装,建议到自己的工程目录

npm i express@4.17.1

2、新建一个js文件,导入express模块:

下面代码是详细步骤

//1.1 安装并导入express模块
const express = require('express')

//1.2 创建一个服务器对象
 const app = express()

//2.1 监听客户端的get请求
app.get('/user',(req,res)=>{

    res.send({"name":'sun','age':34,'sex':'male'})
})
//3.1 监听用户请求字符串并且将其转为对象内容
app.get('/',(req,res)=>{

    res.send(req.query)
    console.log(req.query)

})

//3.2 动态匹配多参数
app.get('/user/:id/:username',(req,res)=>{
    
    console.log(req.params)
    res.send(req.params)

})

//2.2 监听客户端的post请求
app.post('/user',(req,res)=>{

    res.send('hello world!')

})

//1.3 开启服务器,在80端口
app.listen(8080,()=>{
    console.log('express running at http://127.0.0.1:8080')
})

我们创建一个服务器对象是利用导入的模块对象的express()方法,创建一个app对象进行接受,然后使用app的listen()方法启动服务器,这时候我们就可以访问了,这时候我们可以看到我们写的console.log; 

 3、我们可以通过app的get方法获取到客户端的get请求,还可以用post获取客户端的post请求;

get(‘URL’,(req,res)=>{})同http的on方法一样,req、res分别是客户端请求对象和客户端响应对象,又不懂的可以看之前的,URL是我们要访问的地址,也就是我们在网址搜索栏中8080后面的连接:

4、我们可以通过下面代码,实现通过搜索/user来像客户端返回一个对象,就像上面一张图所示:

app.get('/user',(req,res)=>{

    res.send({"name":'sun','age':34,'sex':'male'})
})

res.send()方法是将括号里面的内容响应给客户端,可以是对象,也可以是字符串。

5、req.query()方法可以将客户端响应过来的字符串添加进对象中,我们send的给客户端的对象:

//3.1 监听用户请求字符串并且将其转为对象内容
app.get('/',(req,res)=>{

    res.send(req.query)
    console.log(req.query)

})

 通过上面的代码,我们可以在输入框的网址后面输入/?name==名字&score=分数,如图所示:

然后服务器会给我们一个对象回复,对应的是我们自定义的属性(这里要特别注意格式问题):

 6、最后一个很重要的,我们如何得到客户端输入的动态参数呢?

比如我在网址后输入90,下次输入100,这个作用可见在我们提交一些数据的时候尤其重要:

 我们只需要加入一下代码就可以:

app.get('/user/:id/:username',(req,res)=>{
    
    console.log(req.params)
    res.send(req.params)

})

这里用到的是多参,我们只需要在/后加:参数名,就可以实现传参,利用req的params方法可以得到所有参数,会得到一个对象:

 可以看到,我们在user/后填入的参数被服务器包装成了一个对象并且返回了。

那么,恭喜你又学到了;

关注我,更多分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程学渣ズ

谢谢老板

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值