Express中处理get,post请求以及Router路由

Express是基于Nodejs平台的一个快速、开放、极简的web应用框架

可以帮助我们快速的搭建后台服务器,快速的处理get请求、post请求......

官网:http://www.expressjs.com.cn/

下载:npm install express

利用express快速搭建服务器:

引入express: let express = require('express');

创建应用程序: let app = express();

监听端口号: app.listen(3000);

当我们需要访问某一个目录的时候,此时就要对该目录进行静态化

我们可以使用Express中唯一的一个中间件 static 方法实现目录的静态化

中间件:处理请求的方法, 使用中间件用use方法

例如:app.use("/web", express.static("./web"))

     第一个参数表示访问路径时,是否带有前缀,如果有第一个参数则输入路径时可以带上web这层目录

     app.use(express.static("./web"))

     没有第一个参数,就不要再加上被静态化的web这一层级

Express中处理GET请求:

在Express中处理GET请求的方式有两种: 1 通过app.get; 2 通过Router路由对象

第一种:使用方式:app.get(path, callback)

  path: 请求的路径接口

  callback: 回调函数,有三个参数:

    第一个参数: req 请求对象

    第二个参数: res 响应对象

    第三个参数: next放行函数 :当对同一个函数,定义多个回调函数时,前一个接口的next方法必须执行

GET请求中获取query数据:可以通过req.query直接获取上传的数据;req.query是Express对请求对象封装后的

 处理GET请求返回数据的三种方式:

  res.json({msg: "success"})      可以返回对象

  res.send({msg: "success"})  可以返回对象

  res.end("success")  只能返回字符串;end方法只能使用一次

  res.redirect([status], url)  重定向到url页面

Express中处理POST请求

在Express中处理post请求,同get请求使用方式一致

app.post(path, callback)

  path: 请求的路径接口

  callback: 回调函数,有三个参数:

    第一个参数: req 请求对象

    第二个参数: res 响应对象

    第三个参数: next放行函数 :当对同一个函数,定义多个回调函数时,前一个接口的next方法必须执行

获取post请求的数据:

如果想要获取post请求传递的数据,则需要借助中间件body-parser之后还要进行配置

配置:app.use(bodyParser.urlencoded({ extended: false }));   (urlencoded为表单格式提交)

如果浏览器端提交的数据为JSON格式,则后端接收使用: app.use(bodyParser.json())

然后就可以通过req.body来获取浏览器端提交的数据

 路由对象Router:

Router是Express自带的构造函数,用于处理路由的,也可以通过路由对象处理各种请求

使用方式:

  1通过Express获取路由模块 : let express = require("express");

  2 创建路由实例化对象,并配置路由:  let router = new express.Router();

  3 安装路由对象:  app.use(router);

放行函数: 

在Express中允许对一个接口,添加多个处理函数。在接口函数中的第三个参数就是next放行函数,该函数不执行,后面的回调函数就不会执行。

 

posted @ 2021-05-12 22:24  没有茅台喝啤酒也行  阅读(922)  评论(0编辑  收藏  举报