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

How to get url parameters when it starts with a #?

我是 Angular JSSalesforce 技术的初学者。

有一个 API 的 salesforce returns 我的结果如下。

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 参数以 hash(#).

开头

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

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 但没用。

我想访问单个参数,有办法吗?

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

中找到它

在javascript中使用window.location.hash

像这样使用脚本

<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