我正在尝试从重置密码邮件中的链接中检索重置密码令牌。该链接将用户带回我的node/angular应用程序,并带有我正在尝试获取的令牌。
Laravel API: 邮件模板
Node/Angular应用:ResetPassword.ejs模板:我正在使用一个Angular控制器:
对于LocationHashbangUrl(
<td class="content">
<a href="http://localhost:3000/reset-password?token={{$token}}">Reset Your Password</a>
</td>
Node/Angular应用:ResetPassword.ejs模板:我正在使用一个Angular控制器:
<div ng-controller="resetPasswordCtrl">
...stuff
</div>
重置密码控制器:
'use strict';
angular
.module('myApp')
.controller('resetPasswordCtrl', ['$scope', '$routeParams', '$location', function($scope, $routeParams, $location) {
console.log('ROUTE PARAMS', $routeParams); //object with a bunch of getters/setters
console.log('ROUTE PARAMS', $routeParams.token); //undefined
console.log('Location', $location.search('token')); //LocationHashbangUrl
console.log('Location', $location.search().token); //true
console.log('Location', $location.search()['token']); //true
console.log('Route current params', $route); //empty route object
}]);
对于LocationHashbangUrl(
$location.search('token')
),我知道我得到了带有令牌的正确URL,因为$$absUrl显示了它。
为什么我无法使用控制器中显示的一种方法检索token
参数?
console.log($routeParams)
时,你得到了什么? - Erazihel$route
替代$routeParams
,像这样console.log($route.current.params);
- Erazihel