如何从角度js中具有特殊字符#的路径获取任何参数值

时间:2014-09-11 16:51:08

标签: javascript angularjs

我在有角度的路线中有以下路线:

http://localhost:9000/login#id=54119212faf7d1ec159f9781&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfaWQiOiI1NDExOTIxMmZhZjdkMWVjMTU5Zjk3ODEiLCJpYXQiOjE0MTA0Mzc2NTA3MTcsImV4cCI6MTQxMDQ1NTY1MDcxN30.x3G_faxsnzbyZWSRMNNpc2qFjHI6kBTca_Q9jwnWRHQ

如何从此路由访问id参数。注意这里#不是? 如果有的话?那么我可以通过$location.search()得到它 如果你有任何好的方法,请建议我

1 个答案:

答案 0 :(得分:-1)

使用$ location来获取网址并对其进行字符串操作。这大致是你需要的(我不确定你是否需要考虑#)。 $ location.search()无效,因为没有“?”在网址中:

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包含访问令牌。