如何从angular.js中的redirectURL捕获和获取价值?

我使用angular.js作为前端和node.js作为后端,现在我打电话在我的本地主页中button点击事件下面提到的URL。

示例url:

https://开头的locahost:3000 / AUTH /授权RESPONSE_TYPE =代码&CLIENT_ID = abzefcbbkjajsdd&范围= userfetchit&REDIRECT_URI =本地主机&随机数= 32324

当我打电话给上面的URL它显示login页面在新窗口中,并在我给了电子邮件和密码后,它被redirect到下面提到的另一个URL

redirect的url:

HTTPS://本地主机:3000 / AUTH /本地主机代码= 8dacae52ee284db3dc776aa6d3563912

预期结果 :

现在,我想在angular.js中从上面的URL中获取代码值“8dacae52ee284db3dc776aa6d3563912”。

HTML代码:

<html ng-app='app' ng-controller='LoginController'> <head> </head> <body> <div class="container"> <div class="jumbotron"> <button type="button" class="btn btn-primary btn-lg" ng-click="tokenLogin()"> New Login </button> </div> </div> <pre>{{ cleanData | json}}</pre> </body> </html> 

控制器代码:

 angular.module('app', []) .controller('LoginController', ['$location','$window','$scope', '$filter', function($location,$window,$scope, $filter) { $scope.tokenLogin = function() { var url = 'https://localhost:3000/auth/authorize?response_type=code&client_id=abzefcbbkjajsdd&scope=userfetchit&redirect_uri=localhost&nonce=32324'; $window.open(url); }; }]); 

首先,你需要像这样在你的$stateProvider添加代码参数:

 .state('yourstate', { url: '/localhost?:code', templateUrl: 'localhost.html' }); 

然后在你的控制器中,你可以调用:

 console.log($stateParams.code); 

就是这样。 您可以将此值设置为范围variables或任何东西。