1

我有以下路由:

...
when('/sections/:bookID', {
        templateUrl: 'partials/book.html',
        controller: 'bookCtrl'       
    })
...

其中 bookID 被定义为参数,但它也被加密和编码,因此生成的 URL 如下所示:

/sections/9XhNLs0tI%2fmr67rkJtfhaw%3d%3d

问题是这个路由不起作用?

PS:未加密的值工作得很好。所以,我知道路由正在工作。

编码是用 C# 制作的,如下所示:

HttpUtility.UrlEncode(Convert.ToBase64String(encrytedBuffer)); 

你知道为什么路由不起作用这个值9XhNLs0tI%2fmr67rkJtfhaw%3d%3d在我看来很好吗?

4

2 回答 2

2

问题是它被解码为“9XhNLs0tI/mr67rkJtfhaw==”。您应该能够通过双重编码/解码来解决它。

于 2014-01-08T20:52:38.843 回答
1

问题与以下字符有关:“%2f”

关于这方面已经有一个帖子:

Angular JS 'route' 与 %2F 的组件不匹配(编码为 '/')

于 2014-01-08T20:48:44.353 回答