我使用angular.js作为前端,node.js作为后端,现在我正在调用一个URL,这个URL在我本地主页的按钮点击事件中提到。
示例网址:
当我拨打上述网址时,它会在新窗口中显示登录页面,在我给出电子邮件和密码后,它会被重定向到另一个URL,如下所述
重定向的网址:
https://localhost:3000/auth/localhost?code=8dacae52ee284db3dc776aa6d3563912
预期结果:
现在,我想获得代码值" 8dacae52ee284db3dc776aa6d3563912"来自angular.js。
中的上述网址HTML code:
<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);
};
}]);
答案 0 :(得分:1)
首先,您需要在$stateProvider
中添加代码参数,如下所示:
.state('yourstate', {
url: '/localhost?:code',
templateUrl: 'localhost.html'
});
然后在您的控制器中,您可以致电:
console.log($stateParams.code);
就是这样。您可以将此值设置为范围变量或任何内容。