带斜杠-中断路由的节点JS路由参数

Node JS routing parameter with slash break routing

本文关键字:路由 节点 JS 参数 中断      更新时间:2023-11-22

我有以下路由定义:

$urlRouterProvider.otherwise('/home');
$stateProvider
    .state('home', {
        url: '/home',
        views: {
            "mainView":   {templateUrl: './partials/home.html'}
            }
        })
    .state('page', {
        url: '/page/:pageResource',
        views: {
            "mainView":   {templateUrl: './partials/page.html'}
            }
        })

在home.html上,我有一条ui serf行:

<a ui-sref="page({pageResource: '{{page.resource}}'})">

现在,当我以pageRest/1的形式发送page.resource时,我被重定向到:
http://localhost/page/pageRest/1
因为otherwise,这让我回到了home

此外,尝试将其编码为pageRest%2F1(如这里所建议的带有Slash的ExpressJS Route Parameter)也没有帮助。

有什么想法吗?

发现问题后,我试图在浏览器中粘贴url,但没有意识到它会自己解码一次url编码。

发送URL双编码修复它:
http://localhost/page/pageRest%252F1