Ember.js 余烬QueryParams随以“=&引用;性格

Ember.js 余烬QueryParams随以“=&引用;性格,ember.js,Ember.js,我这里有一个相对简单的问题,但还没有找到解决办法。我正在使用Ember并使用查询参数调用路由。代码如下 从“余烬”导入余烬 现在让我们假设我正在使用以下url调用我的路线 localhost:4200/index.html#/route1?user_id=123456&custom_lis_person_name_given=hello 现在查询参数的值是 user_id = 123456 custom_lis_person_name_given = hello 现在,如果我将我的u

我这里有一个相对简单的问题,但还没有找到解决办法。我正在使用Ember并使用查询参数调用路由。代码如下

从“余烬”导入余烬

现在让我们假设我正在使用以下url调用我的路线

localhost:4200/index.html#/route1?user_id=123456&custom_lis_person_name_given=hello
现在查询参数的值是

user_id = 123456
custom_lis_person_name_given = hello
现在,如果我将我的url更改为

localhost:4200/index.html#/route1?user_id=12345=6&custom_lis_person_name_given=hello
localhost:4200/index.html#/route1?user_id=123456=&custom_lis_person_name_given=hello
现在,该值计算为

user_id = 12345 or user_id=123456
custom_lis_person_name_given = hello
因此,基本上,该值在查询参数值中看到=符号时结束。有解决办法吗?我需要用户id=“12345=6”“123456=“

也许控制器或路由中有一些钩子可以做到这一点。我尝试了序列化QueryParam反序列化QueryParam,但没有效果

提前感谢

您是否尝试过:

encodeURIComponent(url)
?

这个人应该做这项工作。请注意,您仍然需要对
=
符号进行编码,因此该符号应该是正确的

encdeURI
encodeURIComponent
之间的区别如下: 在公认的答案中

编辑:


如果您想手动编辑链接并检查其是否有效,只需将
=
替换为
%3D
encodeURIComponent(“=”
)的结果在标记URL之前,我有一个解决方法,即转义queryParameter。我刚刚逃脱了('123456='),成功了。但在应用程序中,url是在后端创建的。如果我能在UI端完全修复它会更好。这种情况就像整个URL(余烬路由+查询参数)是在java文件中生成的,并在浏览器中调用。是的,所以一个解决方案是从java端进行转义(url)。但我想知道我是否可以从UI端本身做些什么。
encodeURIComponent(url)