nodeJS express路由学习req.body与req.query方法实例详解
目录
- 引言
- 前端路由
- 后端路由
- Express路由教学
- GET/POST路由演示
- 详解req处理数据的方法
引言
所谓 路由 就是根据不同的 url 地址展示不同的内容或页面
形象点 举个栗子:
电话的拨号界面咱们都见过都使用过
你输入一串号码,就可以拨号给指定的联系人
路由也是这个道理,你请求不同的 url 地址,服务器给你展示不同的内容或页面。
假如我们有一台提供 Web 服务的服务器的网络地址是192.168.1.66:8080
然后我们的服务器下挂载有如下一个资源
192.168.1.66:8080/home.html
假设这个url是访问网站主页
192.168.1.66:8080/about.html
假设这个url是访问内容详情
192.168.1.66:8080/person.html
假设这个url是访问个人主页
那么这个时候,你只要在浏览器地址栏输入不同地址,就可以路由到不同页面
路由发展到今天 可以分为前端路由和后端路由 该内容了解即可
前端路由
随着前后端分离的web开发模式出现,前端出现SPA单页面应用,这个SPA单页面应用就需要用路由进行页面内容切换。
在 HTML5 的 history API 出现之前,前端的路由都是通过 hash 来实现的,hash 能兼容低版本的浏览器。
这种路由规则中需要带上 #。服务器并不会解析 hash,也就是说 # 后的内容 Web 服务都会自动忽略,但是 JavaScript 是可以通过 window.location.hash 读取到的,读取到路径加以解析之后就可以响应不同路径的逻辑处理。
而history 是 HTML5 才有的新 API,可以用来操作浏览器的 session history。
也就是说,前端路由有两种实现方式:
hash
history
学过VUE
的童鞋应该非常熟悉路由,特别是vue-router
后端路由
这个就没什么好说的了,以前没有前后端分离,全是后端路由主导。
无论是jsp,php,还是asp····这些 用户能通过URL访问到的页面,大多是通过后端路由匹配之后再返回给浏览器的。浏览器在地址栏中切换不同的URL时,每次都向后台服务器发出请求,服务器响应请求,在后台拼接html文件返回给前端,并且每次切换页面时,浏览器都会刷新页面。
当然现在的后端路由比较偏向后台网络接口这些,供前端发起Ajax请求拿数据。
Express路由教学
在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。
一个Express路由长这样:
express实例对象.请求方法("请求路径",处理函数(请求对象req,响应对象res))
参数解析:
- express实例对象 来自
const app = new express();
这个app就是实例对象 - 请求方法 常见的有
GET、POST
- 请求路径 相对路径就好 比如
/home
- 处理函数就是我们熟知的
http内置模块那些
上一张黑马的图 形象展示 路由匹配过程(黑马yyds
相关推荐
-
nodejs+express最简易的连接数据库的方法
环境搭建 1.首先需要自行安装node环境 2.然后全局安装 express npm install -g express 3.创建express项目文件夹 express创建项目默认为jade模板引擎,若使用其他引擎,使用命令切换 express node_demo -e (选择ejs模板) // 在项目名称的后面添加 -e 那么创建出来的模板文件就是.ejs类型,语法是与html相同的 在vscode中打开我们建好的项目,目录如下: 对于ejs看着不习惯的同学可以将其改为html,如下: 然
-
node基于express框架操作Mysql数据库的步骤
目录 一.在express项目中操作数据库的步骤 1.安装mysql模块 2.配置mysql模块 3.测试mysql模块能否正常工作 4.查询数据库数据 5.向数据库插入数据 6.更新数据库数据 7.更新数据库数据 8.删除数据库信息的标记删除 一.在express项目中操作数据库的步骤 ①安装操作 MySQL 数据库的第三方模块(mysql) ②通过mysql模块连接到MySQL 数据库 ③通过 mysql模块执行SQL语句 1.安装mysql模块 mysql模块是托管于npm 上的第三方模块
-
基于Express框架使用POST传递Form数据
本文实例为大家分享了基于Express框架使用POST传递Form数据的具体代码,供大家参考,具体内容如下 客户端使用Form发送数据 在客户端Html文件中Form代码如下: <!-- POST test --> <form action="/test" method="post" id="foo" > <input type="text" name="username"&g
-
轻量级数据库SQL Server Express LocalDb介绍
目录 一.介绍 1.SqlLocalDb 2.轻量级数据库对比(LocalDB vs. SQL Express vs. Compact) 二.安装这个SqlLocalDb 1.通过VS Installer安装: 2.通过SQL Server Express安装 三.连接SqlLocalDB 1.SSMS可以连接此实例. 2.VS连接到SQLLoalDB 3.编写程序对已有数据的读取 四.SQL 示例数据库下载 一.介绍 1.SqlLocalDb 全称:SQL Server Express Loc
-
Express无法通过req.body获取请求传递的数据解决方法
目录 前言 1.问题描述 2. 解决办法 2.1 解决JSON内容格式 2.2.解决x-www-form-urlencoded内容格式 3.附 3.1.获取get请求参数 3.2.封装XMLHttpRequest 4.总结 前言 最近尝试重新封装XMLHttpRequest,在发post请求的时候,发现express通过req.body获取不到数据,req.body打印出来是一个空对象. 网上也试了网上各种办法,还是不成功,最后发现需要在XMLHttpRequest请求时设置一个请求头,来标识发
-
浅谈Express.js解析Post数据类型的正确姿势
一.概念介绍 1.POST请求:HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据. 2. Content-Type : 是指 http/https 发送信息至服务器时的内容编码类型, Content-Type 用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据.四种常见的 POST 请求的 Content-Type 数据
-
nodeJS express路由学习req.body与req.query方法实例详解
目录 引言 前端路由 后端路由 Express路由教学 GET/POST路由演示 详解req处理数据的方法 引言 所谓 路由 就是根据不同的 url 地址展示不同的内容或页面 形象点 举个栗子: 电话的拨号界面咱们都见过都使用过 你输入一串号码,就可以拨号给指定的联系人 路由也是这个道理,你请求不同的 url 地址,服务器给你展示不同的内容或页面. 假如我们有一台提供 Web 服务的服务器的网络地址是192.168.1.66:8080 然后我们的服务器下挂载有如下一个资源 192.168.1.6
-
Python学习笔记之字符串和字符串方法实例详解
本文实例讲述了Python学习笔记之字符串和字符串方法.分享给大家供大家参考,具体如下: 字符串 在 python 中,字符串的变量类型显示为 str.你可以使用双引号 " 或单引号 ' 定义字符串 定义字符串 my_string = 'this is a string!' my_string2 = "this is also a string!!!" # Also , we can use backslash '/' to escape quotes. this_strin
-
Vue.js框架路由使用方法实例详解
Vue.js框架路由使用方法实例详解 html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name='viewport' content='width=device-width,initial-
-
nodejs 使用 js 模块的方法实例详解
Intro# 最近需要用 nodejs 做一个爬虫,Google 有一个 Puppeteer 的项目,可以用它来做爬虫,有关 Puppeteer 的介绍网上也有很多,在这里就不做详细介绍了. node 小白,开始的时候有点懵逼,模块导出也不会. 官方文档上说支持 *.mjs 但是还要改文件扩展名,感觉有点怪怪的,就没用,主要是基于js的模块使用. 模块导出的两种方式# 因为对 C# 比较熟悉,从我对 C# 的理解中,将 nodejs 中模块导出分成两种形式: 1.一个要实例化才能调用的模块 2.
-
node.js express框架实现文件上传与下载功能实例详解
本文实例讲述了node.js express框架实现文件上传与下载功能.分享给大家供大家参考,具体如下: 背景 昨天吉视传媒的客户对IPS信息发布系统又提了一个新需求,就是发布端发送消息时需要支持附件的上传,而接收端可以对发布端上传的附件进行下载:接收端回复消息时也需要支持上传附件,发布端可以对所有接收端上传的附件进行打包下载. 功能实现 前台部分 前台使用webUploader插件即可,这是百度开发的一款文件上传组件,具体使用查看它的API即可.这个项目之前开发的时候前台使用了angular.
-
AngularJS学习笔记之表单验证功能实例详解
本文实例讲述了AngularJS学习笔记之表单验证功能.分享给大家供大家参考,具体如下: 一.执行基本的表单验证 <!DOCTYPE html> <html ng-app='exampleApp'> <head> <meta charset="UTF-8"> <title>表单</title> <script src="../../js/angular.min.js" type="
-
Opencv学习教程之漫水填充算法实例详解
前言 基本思想是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,经常用来标记或者分离图像的一部分进行处理或分析.漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点.其中掩膜Mask用于进一步控制那些区域将被填充颜色(比如说当对同一图像进行多次填充时). int floodFill(inputoutputArray,inputoutputMask,seedPoint,Scalar newVal,Rect* rect=0,Scalar loDiff=
-
JSP学习之Java Web中的安全控制实例详解
本文实例讲述了JSP学习之Java Web中的安全控制.分享给大家供大家参考.具体如下: 一.目标: ① 掌握登录之后的一般处理过程: ② 能够为每个页面添加安全控制: ③ 能够共享验证代码: ④ 使用过滤器对权限进行验证: ⑤ 能够对文件的局部内容进行验证: ⑥ 掌握安全验证码的基本实现方式: ⑦ 通过异常处理增强安全性. 二.主要内容: ① 通过修改前面的登录功能,分别对管理员和普通用户的登录进行处理: ② 为管理员才能访问的页面添加控制: ③ 共享各个页面中的控制代码,使用专门的文件,然后
-
Python基础学习之函数方法实例详解
本文实例讲述了Python基础学习之函数方法.分享给大家供大家参考,具体如下: 前言 与其他编程语言一样,函数(或者方法)是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. python的函数具有非常高的灵活性,可以在单个函数里面封装和定义另一个函数,使编程逻辑更具模块化. 一.Python的函数方法定义 函数方法定义的简单规则: 1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 2. 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 3.
-
Python学习笔记之迭代器和生成器用法实例详解
本文实例讲述了Python学习笔记之迭代器和生成器用法.分享给大家供大家参考,具体如下: 迭代器和生成器 迭代器 每次可以返回一个对象元素的对象,例如返回一个列表.我们到目前为止使用的很多内置函数(例如 enumerate)都会返回一个迭代器. 是一种表示数据流的对象.这与列表不同,列表是可迭代对象,但不是迭代器,因为它不是数据流. 生成器 是使用函数创建迭代器的简单方式.也可以使用类定义迭代器 下面是一个叫做 my_range 的生成器函数,它会生成一个从 0 到 (x - 1) 的数字流:
随机推荐
- Windows下安装MySQL5.5.19图文教程
- 用Shutdown命令实现网络统一关机
- 浅谈java中的TreeMap 排序与TreeSet 排序
- 浅谈Java中的四种引用方式的区别
- oracle如何使用java source调用外部程序
- PHP可变函数学习小结
- PHP实现的博客欢迎提示功能(很特别哦)
- PHP正则表达式过滤html标签属性(DEMO)
- 深入浅析JS Function()构造函数
- javascript无刷新评论实现方法
- 基于jQuery实现音乐播放试听列表
- js获取URL的参数的方法(getQueryString)示例
- 2013年立冬是什么时候 立冬是几号 立冬的含义介绍
- JavaScript中switch判断容易犯错的一个细节
- PowerShell中的TimeSpan时间差对象使用实例
- JS构造函数与原型prototype的区别介绍
- PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
- Linux安装Python虚拟环境virtualenv的方法
- Django自定义manage命令实例代码
- vue裁切预览组件功能的实现步骤