什么是动态路由?动态路由的由来及其他会用在什么地方?
例我们现在在百度知道上搜索问题什么是癌
然后我们在点下面链接中的类似问题
例
所以我们知道百度知道上面得有上亿的问题,难道每个问题打开一个新页面都有对应单独的html页面吗,那么肯定是不可能的,我们发现每个问题打开的页面模板都是一样的,只是内容发生了变化,所以这种情况下我们要使用动态路由。
对于上面的路由我们发现只有question后面的id是不一样的,也是根据后面id渲染对应的页面
动态路由写法:
/teacher/:id
const express = require("express");
let app = express();
app.listen(1234,()=>{
console.log("请访问:localhost:1234");
});
app.get("/teacher/:id",(req,res)=>{
res.send("这是动态路由")
})
例
那么我们如何拿到动态路由呢,在req.params
中可以获取到
app.get("/teacher/:id",(req,res)=>{
res.send("这是动态路由")
console.log(req.params);
})
例
扩展:
req常用API
- 获取请求的方法
req.method
- 获取请求的协议
req.protocol
res常用API
- res.send() 返回数据,
- res.sendFile()接受路径字符串
- res.status()设置状态码
- res.set()设置响应头
- res.cookie()给客户端设置cookie
- res.redirect()重定向,接受一串新路由
res.reader() 配合引擎渲染模板
网友评论