我是节点的新手,无法创建一个简单的路由,其中包含参数的正则表达式
// student.js - route file for route /student
app.get('/student/:/^[a-z0-9-]+$/', function(req,res){
res.send('student found');
});
当我点击localhost:3000/student/student-slug
时,它会显示Cannot GET /student/student-slug
另外两个问题
1)如何获得正则表达式的param,通常我们可以这样做var _student = res.param.student_name
但我无法考虑正则表达式
2)如何设置可选参数,让我们说分页,路由就像
/list/students/
会显示最后一个x学生的列表,但/list/students/48
会将该值偏移到第48行
这个问题可能重复,但我无法找到答案
答案 0 :(得分:0)
在传递给请求之前,您需要encode
uri字符串,并且在路由处理程序中需要decode
。
用法很清楚:
encodeURIComponent(str);
用于解码使用:
decodeURIComponent(str);
上查看此博文