一、路由
1、什么是路由
服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤
2、实现路由的方法
2.1、get请求访问网址时,做什么事
app.get("网址",function(req,res){ });
2.2、post请求访问网址时,做什么事
app.post("网址",function(req,res){ });
2.3、任何请求访问这个网址
app.all("网址",function(){ });
注意:1、'这里的网址不分大小写,例如
app.get("/AAb",function(req,res){ //我们访问 /aab也是可以的 res.send("你好"); });
2、你路由到/a , 实际/a?id=2&sex=nan 也能被处理。
3、路由中正则表达式的使用
3.1、正则表达式中,未知部分用圆括号分组,然后可以用req.params[0]、[1]得到。req.params类数组对象。
app.get(/^\/student\/([\d]{10})$/,function(req,res){ res.send("学生信息,学号" + req.params[0]); });
3.2、冒号写法(推荐)
var express=require('express'); var app=express(); //冒号1 app.get("/student/:id",function (req,res) { var id=req.params["id"]; //得到id的值 var reg=/^[\d]{6}$/; if(reg.test(id)){ res.send(id); }else { res.send("请检查格式"); } }); //冒号2 app.get("/:username/:oid",function(req,res){ var username = req.params["username"]; //得到username的值 var oid = req.params["oid"]; //得到//oid的值 res.write(username); res.end(oid); }); app.listen(3000);
运行结果:
冒号1:
冒号2:
二、中间件
1、什么是中间件
应用于应用之间 充当连接服务的,例如上面的get、post请求就是中间件
2、express中所有的路由(中间件)的顺序(很重要)
2.1、next()方法
var express=require("express"); var app=express(); app.get("/",function (req,res,next) { console.log(1); next(); //如果没有next参数,就只会conlose出来1,而不会是1,2 }); app.get("/",function (req,res) { console.log(2); }); app.listen(3000);
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/80.html