如何从Angular中的URL获取确切的查询参数

时间:2020-08-20 20:42:47

标签: angular

我关注另一个关于获取查询参数的堆栈溢出信息。但是,查询参数的值包含“%2”,当以我的角度输出时,该值会将其转换为“ +”。另外,我的param2不会存储整个值“ testingsomething?INT /”,而是在“?”之前停止。

示例:

*Query Param*
/app?param1=hallo%2testing111&param2=testingsomething?INT/

component.ts中的代码

param1: string;
param2: string;
constructor(private route: ActivatedRoute) {
    console.log('Called Constructor');
    this.route.queryParams.subscribe(params => {
        this.param1 = params['param1'];
        this.param2 = params['param2'];
        console.log(this.param1);
        console.log(this.param2);


    });
}

输出

hallo+testingsomething

如您所见,存储参数时,我的“%2”转换为“ +”。 并且testingsomething预期输出应为“ testingsomething?INT /”

更新

我能够解决param1中的问题(在“答案”部分中提到了答案)。

我仍然对param2感到困惑。能够提取确切的参数“ testingsomething?INT /”

参考: How to get query parameters from URL in Angular 5?

1 个答案:

答案 0 :(得分:0)

我找到了可以帮助解决param1问题的参考。 Reference

这是我代码中的更改,解决了我的问题。上面的代码相同,但是这一行更改了。

this.param1 = encodeURIComponent(params['param1']);

新输出

hallo%2testingsomething
相关问题