Javascript 从$routeParams服务中提取的angularJs查询参数不考虑第二个'#';
我的路线是这条Javascript 从$routeParams服务中提取的angularJs查询参数不考虑第二个'#';,javascript,angularjs,web,Javascript,Angularjs,Web,我的路线是这条 https://admin.quiverstest.com/#/mobile?next=https://admin.quiverstest.com/#/resetpassword?t=GudTR3Ym4MkPnOtJwJAGzGYXwdzWsSSnkLy10 我正在从$routeParams服务中提取queryParams(URL中“?”之后的内容),如下所示: console.log($routeParams) 它只给我第二个“#”之前的内容,比如: 我希望我的输出像:
https://admin.quiverstest.com/#/mobile?next=https://admin.quiverstest.com/#/resetpassword?t=GudTR3Ym4MkPnOtJwJAGzGYXwdzWsSSnkLy10
我正在从$routeParams服务中提取queryParams(URL中“?”之后的内容),如下所示:
console.log($routeParams)
它只给我第二个“#”之前的内容,比如:
我希望我的输出像:
{next:"https://admin.quiverstest.com/#/resetpassword?t=GudTR3Ym4MkPnOtJwJAGzGYXwdzWsSSnkLy10"}
但问题是,它只考虑URL中第二个“#”之前的查询参数。正如robert所说,URI中只能有一个“哈希标记”,因为它指示URI片段部分的开始 您应该使用
encodeURI()
或encodeURIComponent()
对下一个参数的值进行编码,以删除所有特殊字符,如哈希。
当需要next的实际值时,可以使用
decodeURI()
或decodeURIComponent()
对其进行解码。第二个哈希无效,在参数中只能使用斜杠、问号和pchars。哈希不是pchar。。。被视为%23。可以通过使用window.location对象和自己解析url进行漫游。
{next:"https://admin.quiverstest.com/#/resetpassword?t=GudTR3Ym4MkPnOtJwJAGzGYXwdzWsSSnkLy10"}