在这种情况下如何获取url参数

时间:2019-09-05 17:01:57

标签: angular

我使用的是角度7,我想从此URL捕获令牌参数: http://localhost:4200/createpassword/token=xxxxxxxx

在我的路由路径上,我添加了: 路径:'createpassword /:token'

问题是添加xxxxxxxx参数时浏览器重定向到http://localhost:4200/createpassword/token

3 个答案:

答案 0 :(得分:0)

您的网址不正确,应如下所示:

http://localhost:4200/createpassword/token/xxxxxxxx

这是参数url在angular中的样子

您已经评论到,您是从API获取此网址的,而您要做的就是在使用它之前对其进行操作

this.apiService.getURL().subscribe(url => {
  // change the url before using it
});

答案 1 :(得分:0)

您可以像这样使用您的网址

  1. 从以下路线中删除token参数:path: 'createpassword'

  2. 在您的组件中获取ActivatedRouteconstructor(private route: ActivatedRoute)

  3. 在组件中实施OnInit,并使用提供的route-queryParams可观察到的获取查询参数:

import { Component, OnInit } from '@angular/core';

export class SomeComponent implements OnInit {
  token: any;

  ngOnInit() {
    this.route.queryParams.subscribe(params => this.token = params['token']);
  }
}

这里是StackBlitz DEMO

答案 2 :(得分:0)

此问题已在服务器端解决,避免使用无效的URL。