加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular 4 – Route查询参数导致路径匹配失败

发布时间:2020-12-17 07:20:09 所属栏目:安全 来源:网络整理
导读:在Angular 4中搜索关于各种类型的路由的多个线程/问题之后,我无法解决将queryParams传递给Angular 4路由的问题. 传递到网址时 http://localhost/search;x=y 通过模板[queryParams] = {x:’y’} a [routerLink]="/search" [queryParams]="{x: 'y'}"Navigate/
在Angular 4中搜索关于各种类型的路由的多个线程/问题之后,我无法解决将queryParams传递给Angular 4路由的问题.

传递到网址时

http://localhost/search;x=y

通过模板[queryParams] = {x:’y’}

<a [routerLink]="/search" [queryParams]="{x: 'y'}">Navigate</a>

或者在组件类中

this._router.navigate(['/search'],{ queryParams: {x: 'y'} });

结果是路由器抛出匹配错误:

Error: Cannot match any routes. URL Segment: 'search%3Fparam1%3Dtest1%26param2%3Dtest2'

将enableTracing设置为true时,我可以看到导航对可疑字符进行编码,这很可能是它无法匹配的原因.

我需要处理包含queryParams的URL并解析它们以进行api调用,因此必须在必需或可选的参数上使用查询参数路由.

有没有人有类似的问题,如果有的话,编码根源(ahem.)问题的原因是什么?

查询参数会生成如下所示的网址:
http://localhost/search?x=y

带问号,不是分号.

以下是有关如何使用查询参数的摘要.

请注意,它们未配置为路径定义的一部分.

您的routerLink和导航方法看起来正确.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读