Angularjs 角度可选参数原因";%3F“;如果有尾随的“添加到url”/&引用;

Angularjs 角度可选参数原因";%3F“;如果有尾随的“添加到url”/&引用;,angularjs,angularjs-routing,optional-parameters,Angularjs,Angularjs Routing,Optional Parameters,我的角度路由器出了一个奇怪的错误。我的所有路由都有一个可选参数,当用户向URL添加尾随/时,我会在可选参数的末尾将“%3F”(ASCI代码?)添加到URL中。以这种方式运行的其中一条路由写为: when('/:classification?/package/compare', { name: 'public-package-compare', templateUrl: '/pages/marketing/packages/compare', controller: 'Packa

我的角度路由器出了一个奇怪的错误。我的所有路由都有一个可选参数,当用户向URL添加尾随/时,我会在可选参数的末尾将“%3F”(ASCI代码?)添加到URL中。以这种方式运行的其中一条路由写为:

when('/:classification?/package/compare', {
   name: 'public-package-compare',
   templateUrl: '/pages/marketing/packages/compare',
   controller: 'PackageCompareController'
})
当我访问“/us/package/compare”或“/package/compare”时,我会被带到正确的url

如果我访问“/us/package/compare/”我会被带到“/us%3F/package/compare”,这不是有效的路线(这会中断应用程序)

我知道一些方法让它工作,但我想知道是否有一个既定的角度来处理这个问题。我知道我可以将我的路线加倍,并在末尾添加带有/的路线,或者添加一个routeInterceptor,但我想知道解决此问题的最佳方法是什么。我目前使用的是Angular版本v1.3.0-rc.2,我使用的是标准路由器。提前感谢您抽出时间

似乎已经解决了这个问题

不幸的是,该修复只针对1.3.10及更高版本进行了合并。您可能必须升级您的Angular版本才能解决此问题


如果无法升级Angular版本,您可以尝试使用正则表达式修复程序更新当前版本,尽管这听起来不是个好主意。

为什么要使用
rc
version?它有两个问题,一个是