我有一个忘记密码的表单,当用户输入电子邮件时,该表单会撞到后端并向用户发送电子邮件链接,如下所示。
用户单击链接,这将调用后端服务。如何通过angular
控制此网址?因此,基本上,这称为后端资源,但我也希望在前端也处理此url。
如果这个问题不太清楚,谁能给我展示一个在AngularJS和NodJs或任何后端中忘记密码实现的示例。
最佳答案
如果您可以更改电子邮件中的链接,请按以下方式进行更改:
http://localhost:3000/#/resetpassword/<token>
现在,在您的弯角 route ,您需要按以下方式收听此路线:
angular.module('myApp', ['ngRoute'])
.controller('ResetPasswordController', function($scope, $route, $routeParams, $location) {
//password resetting functionality
})
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/resetpassword/:token', {
templateUrl: 'reset.html',
controller: 'ResetPasswordController',
resolve: {
// Call the backend service to check if the token is valid
verifyToken: function($q, $route) {
var deferred = $q.defer();
$http({
method: 'GET',
url: '/reset/' + $route.current.params.token
}).success(function (data) {
deferred.resolve(data);
}).error(function (msg) {
deferred.reject(msg);
});
return deferred.promise;
}
}
})
});