1. 什么是 Express
Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
Express 的作用和 Node.js 内置的 http 模块类似,是基于http内置模块进一步封装,专门用来创建 Web 服务器的。
Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
2.获取 URL 中携带的查询参数
在express中,可以通过req.query、req.body、req.params三种方法获取用户传递的参数
(1)、通过nodejs默认提供的req.query 对象,可以访问到客户端通过(get/post请求都行,通常用于get请求)查询字符串的形式发送到服务器的参数,如果用户没有传参,则默认值为{}:
(2)、通过 req.body对象,可以访问到客户端通过post请求传递到服务器的body参数,默认为undefined;
解析body不是nodejs默认提供的,需要载入body-parser中间件才可以使用req.body;
① 运行 npm install body-parser 安装中间件
② 使用 require 导入中间件
Express 内置的 express.urlencoded 中间件,就是基于 body-parser 这个第三方中间件进一步封装出来的。
注意:express.urlencoded 解析 URL-encoded 格式的请求体数据(有兼容性,仅在 4.16.0+ 版本中可用)
app.use(express.urlencoded({ extended: false })) // 使用express.urlencoded解析请求体数据
![](https://img-blog.csdnimg.cn/0059676ff8e340b29579f7494723416e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZ3JhY2llZHU=,size_20,color_FFFFFF,t_70,g_se,x_16)
如果发送的是json字符串,则需要加上express.json 来解析请求体数据(有兼容性,仅在 4.16.0+ 版本中可用)
app.use(express.json()) // 使用express.json()解析请求体数据
(3)、通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数,默认值为{}: