Javascript 如何从角js中具有特殊字符#的路由中获取任何参数值
我有以下角度路线:Javascript 如何从角js中具有特殊字符#的路由中获取任何参数值,javascript,angularjs,Javascript,Angularjs,我有以下角度路线: http://localhost:9000/login#id=54119212faf7d1ec159f9781&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI1NDExOTIxMmZhZjdkMWVjMTU5Zjk3ODEiLCJpYXQiOjE0MTA0Mzc2NTA3MTcsImV4cCI6MTQxMDQ1NTY1MDcxN30.x3G_faxsnzbyZWSRMNNpc2qFjHI6kBTca_Q9j
http://localhost:9000/login#id=54119212faf7d1ec159f9781&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI1NDExOTIxMmZhZjdkMWVjMTU5Zjk3ODEiLCJpYXQiOjE0MTA0Mzc2NTA3MTcsImV4cCI6MTQxMDQ1NTY1MDcxN30.x3G_faxsnzbyZWSRMNNpc2qFjHI6kBTca_Q9jwnWRHQ
如何从此路由访问id参数。注意这里#不是?。
如果有的话?然后我可以通过$location.search()
如果您有什么好方法,请建议我使用$location获取url并对其执行字符串操作。这大概就是你需要的(我不确定你是否需要解释#)$location.search()将不起作用,因为url中没有“?”:
var url = $location.url();
//check if id is present in url
if(url.indexOf('id') != -1)
{
//extract value from url
var id = url.replace('/id=', '');
}
作为对@charlietfl问题的回答(我没有足够的点来评论),我以前在使用API的客户端(隐式)身份验证(我的例子中是Instagram)时使用过这个,其中我的重定向URL包含一个访问令牌。您必须解析
window.location.hash
,或者我猜$location.hash()
有什么原因不能使用@JaredReeves吗我认为$routeParams
不会加载哈希;它只是加载了位置的搜索和路径问题,但为什么您首先要这样格式化url?角度路由参数将负责id=
,并且具有更好的结构可以利用$location.search()