NODE.JS day04
1.请求的方式
post 只能使用表单提交的方式(现阶段)
get 可以通过表单提交,也可以在浏览器地址栏直接输入url
区别:post不会在地址栏暴露输入的数据,相对安全。get会在地址栏显示输入的信息,相对不安全。 一般对于一些安全性较高的表单用post,例如登录,注册... 对于一些安全性较低的表单使用get,例如搜索关键字,查询... post执行速度相对于get,比较慢。 |
2.路由中的参数
服务器端配置路由参数
app.get('/list/:lid/:uname',()=>{
//req.params 获取传递参数对象
});
练习:
路由:购物车 /shopping get
把商品的价格(price)和商品的数量(num)以参数的形式传递给服务器,把接收的参数显示在浏览器中。
3.路由器
路由器是把相关的路由归纳到一起
用户模块:注册、登录、列表、修改、删除/user/delete、检索
商品模块:列表、详情、修改、删除/product/delete
把商品路由器挂载到 /product下
路由器目的是便于管理路由,最终要用于web服务器
4.require引入第三方模块机制
首先查找当前目录下是否有node_modules,如果没有往上一级目录寻找,直到根目录。
5.中间件
中间件就是express的函数,作用是为主逻辑所服务。中间件不能单独使用,必须要配合其它中间件或路由实现一个完整的业务逻辑。
中间件拦截路由
app.use(fn); 拦截所有的路由
app.use('/list',fn); 拦截特定路由
练习:
使用中间件实现计数器
初始化一个变量用于记录访问次数——0
先创建路由。在前置中间件中访问次数+1
在路由中(/user),把+1的结果响应给浏览器
中间件分类
应用级的中间件 app.use(fn)
路由级的中间件——路由器的使用
app.use('/user',user)
内置的中间件
第三方的中间件
错误级的中间件(课后自学)
①内置的中间件
sendFile只有在请求的时候,才会发送文件到浏览器
app.use(express.static('目录路径'));
注意:可以同时托管多个静态目录,如果两个目录中有相同文件名称,显示第一个目录下的文件。
②body-parser中间件的使用
引入中间件 const bodyParser=require('body-parser');
调用中间件 app.use(bodyParser.urlencoded({
extended:false
}));
获取post请求中表单的数据
req.body
课后任务
创建一个注册文件register.html(用户,密码,邮箱,电话);把这个文件作为静态资源托管,点击提交,使用post请求将数据发送给服务器;服务器使用body-parser中间件获取数据,发送到浏览器“注册成功,你好+用户名”
预习MySQL