Angular9 如何停止查询参数编码

Angular 9 how to stop query param encoding

我正在尝试从我的 Angular 应用中的 url 检索一个长而复杂的令牌。

示例 url 可能如下所示(注意 id 和 token 参数):

https://localhost:5001/reset?id=e77d8ba0-860e-41ef-9b22-2faa5eb9bcac&token=CfDJ8O1GI7keU8xGn9z9kiO90U9OTQLSPVN0JS00bsu%2FrMuTyaNYuls37zECb0RQk1oHJHJtuWlyFf2K%20ExY%2FWQ9xKUKWkxWQADFDw8fPIc4z%206y55yaIsljI0MPQZOR8BYggN7rQb1e891y3yIiQQJI0kjsvTLcO1NUpH2tt679sdB45x2p1zYPjoRU6ddlMKcxmx6Q538RTB99gek%20YNgiCH73h2pRRWewlcPRfS80G4Ya`

虽然我可以使用查询参数映射来检索我的值,但 Angular 似乎在玩弄数据:/

    this.route.queryParamMap.subscribe(
      paramMap => {

        this.token = paramMap.get('token');

        console.log(document.location);
        // ...CfDJ8O1GI7keU8xGn9z9kiO90U9OTQLSPVN0JS00bsu%2FrMuTyaNYuls37zECb0RQk1oHJHJtuWlyFf2K ExY%2FWQ9xKUKWkxWQADFDw8fPIc4z 6y55yaIsljI0MPQZOR8BYggN7rQb1e891y3yIiQQJI0kjsvTLcO1NUpH2tt679sdB45x2p1zYPjoRU6ddlMKcxmx6Q538RTB99gek YNgiCH73h2pRRWewlcPRfS80G4Ya

        console.log(this.token);
        // CfDJ8O1GI7keU8xGn9z9kiO90U9OTQLSPVN0JS00bsu/rMuTyaNYuls37zECb0RQk1oHJHJtuWlyFf2K ExY/WQ9xKUKWkxWQADFDw8fPIc4z 6y55yaIsljI0MPQZOR8BYggN7rQb1e891y3yIiQQJI0kjsvTLcO1NUpH2tt679sdB45x2p1zYPjoRU6ddlMKcxmx6Q538RTB99gek YNgiCH73h2pRRWewlcPRfS80G4Ya 

      });

它似乎会自动编码特殊字符(比如将 %2F 变成 /)。我查看了 Angular.io 文档并搜索了类似的情况,但我就是想不出如何阻止 Angular 进行这种编码。

有人知道我做错了什么吗?

尝试encodeURIComponent

this.route.queryParamMap.subscribe(
  paramMap => {

    this.token = encodeURIComponent(paramMap.get('token'));

    console.log(this.token);

  });