如何在以#开头时获取url参数?

时间:2015-10-07 11:43:39

标签: angularjs salesforce url-parameters

我是 Angular JS Salesforce 技术的初学者。

有一个salesforce API,它返回结果如下。

http://localhost:63342/www/index.html#/#access_token=access_token&refresh_token=refresh_token&instance_url=url&id=id&issued_at=1444216583754&signature=sign&scope=scope&token_type=Bearer

此处,url参数以哈希(#)开始。

如果它以问号(?)开头,如

http://localhost:63342/www/index.html#/?access_token=access_token&refresh_token=refresh_token&instance_url=url&id=id&issued_at=1444216583754&signature=sign&scope=scope&token_type=Bearer

然后我可以简单地使用$location.search方法,但salesforce不会那样回应。

所以我的问题是访问Angular JS中的url参数。

修改

我使用了$location.hash,结果如下:

#/#access_token=access_token&refresh_token=refresh_token&instance_url=url&id=id&issued_at=1444216583754&signature=sign&scope=scope&token_type=Bearer

我也试过$location.hash.acess_token但没有工作。

我想访问个别参数,有没有办法做到这一点?

3 个答案:

答案 0 :(得分:0)

#之后的部分称为哈希。所以你可以在window.location.hash或Angular中找到它,你会在$location.hash()找到它

答案 1 :(得分:0)

在javascript中使用 window.location.hash

答案 2 :(得分:0)

使用这样的脚本

<script>
      var app = angular.module('queryStringApp', []);
      app.controller('firstCtrl', function($scope, $location) {
         alert("Account Number  is - "+ $location.search()['accountNo']);

         $scope.accountNo=$location.search()['accountNo'];
      });
   </script>

检查plunkr http://plnkr.co/edit/TNX06WFx0n6p1mSLPKfP?p=preview