0

我试图使路由动态像 /review-{title}-{id} ,但导致错误不知道为什么,如果用户输入错误的参数而不是如何处理。我的客户要求如上所述,我不擅长节点并表达请任何人建议如何制作上述路线。另外,如果我需要像这样 /review/:title/:id 格式制作路线,我该怎么做。

我正在尝试,但它会将我重定向到 404 页面,

请在 server.js 中找到我现有的代码详细信息

this is working.. 
app.get('/review', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

but not this one..
app.get('/review-*-*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

Also not this one working
app.get('/review/*/*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

This is 404 page which call evrytime while accessing dynamic pages
app.get('/*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/404.html'));
});
4

1 回答 1

2

查看Express中路由的语法。

在大多数情况下,您最好使用路由参数,例如:

app.get('/review/:title/:id', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

更多的灵活性(但对大多数开发人员来说更不透明)将匹配正则表达式。

我认为你可以在单词中间放一个 *(他们举了一个像 '/abc*def' 这样的例子,但我不确定它与你正在做的其他事情有多好,我不认为如果你这样做,你可以在模式中有多个 *。)

于 2016-07-28T13:19:26.240 回答