angular - 如何在angular 6路由中处理以#开头的参数
问题描述
我有一个 Angular 6 应用程序。我正在尝试从 oauth2 提供程序获取访问令牌。我成功获得了令牌,但我无法加载我的回调页面。问题似乎是令牌使用# 附加到回调url,而我的角度路由器不喜欢#。
这是带有令牌的回调 url 的示例:
http://localhost:4200/oauth2-callback/#access_token= ***&token_type=Bearer&expires_in=31622400
这是我的路线配置:
{
path: 'oauth2-callback/:token',
component: Oauth2CallbackComponent,
canActivate: [AuthGuard]
}
我通过手动访问http://localhost:4200/oauth2-callback/xyz对此进行了测试。<- 这很好用。但后来我尝试:http://localgost:4200/oauth2-callback/#xyz。<— 这会将我重定向到我们的错误页面。
所以我的问题是:如何配置路由以处理以# 开头的参数?
谢谢。
解决方案
我不得不承认是我的错。我的重定向中有一个错字:oath2-callback(<-- 缺少 u)。结合摆脱 / (所以它是http://localhost:4200/oauth2-callback#access_token= ... 而不是http://localhost:4200/oauth2-callback/#accesstoken=..。)解决了这个问题。
推荐阅读
- python - 创建数据框而不是从 API 调用中下载
- javascript - 根据用户输入显示数据
- r - RMarkdown 不在 RStudio 中打印块输出
- javascript - 如何获取复选框的值而不是 true
- ubuntu - 无法在 Ubuntu 20.04 的 dbeaver 的输入字段中输入任何内容
- java - 如何在使用 Jackson 时解析嵌套的 json 对象
- javascript - 为什么在将功能迁移到组件以提高可读性时 onChnage 不是一个功能
- java - 如何在android中保存类似的按钮状态?
- javascript - 从此 JS 输出中删除逗号“,”并使用换行符代替 , 逗号
- jquery - 更改日历中的语言 - dateTimePicker