Angular2路由器查询参数中文乱码

时间:2016-07-08 13:37:31

标签: angular angular2-routing

我正在使用angular2 rc.4和路由器3.0.0-beta.1

当我使用这样的路由器查询参数时:

this.router.navigate(['login'],{queryParams:{err:'中国!'}});

和loginComponent:

constructor(private router:Router) {
    this.router.routerState.queryParams.subscribe(
      params=>{
        this.errMsg=params['err'];
        console.log('errMsg is : '+this.errMsg);
      }
    )
    });

如果我首先打开' / login'页面,控制台打印:

  

" errMsg是中国",

- 显示正确。

但是当我刷新浏览器时,它变为:

  错误是:%E4%B8%AD%E5%9B%BD"

如何解决乱码中文?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,很简单。使用decodeURIComponent函数对url param进行解码,如下所示:

this.errMsg= decodeURIComponent(params['err']);