我的快递申请中有以下路线:
app.get('/api/:URI', (req, res) => {
doStuff();
}
传递的URI参数是在客户端使用encodeURIComponent()
除了URI包含哈希值之外,它都可以正常工作。
示例:http://foo.bar/foobar/bla#blabla-313fe4ce-4f8d-48b7-b0f3-a59844402ee8
在这种情况下,该路线将被忽略。
在浏览器端,我收到一个代码301,然后是下一条有效路由的结果。
如果我删除哈希值,或者更奇怪的是,如果我在浏览器端禁用了缓存,则它可以正常工作。
有什么表达可以忽略哈希的方法吗?
编辑:这绝对不是Can I use an at symbol (@) inside URLs?的副本,问题更多是关于快速路由和/或浏览器缓存问题,而不是URL中允许的字符。
答案 0 :(得分:0)
有什么表达可以忽略哈希的方法吗?
我尝试使用OR运算符。例如,
app.get('/blog' || '/blog#top', (request, response) => {
...
});
因此,即使存在#top
,它也可以正常工作。