我希望电子邮件客户端(例如Gmail)中的token
路径变量的值通过使用ExpressJS发送到节点服务器的链接,然后在控制器中提供值{{1 }})。
服务器正在显示视图MyController
并将reset.ejs
值作为参数传递给它。
以下是上述案例的代码:
server.js(ExpressJS)
token
reset.ejs(EJS)
app.get('/reset/:token', function (req, res) {
User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user) {
if (!user) {
res.render('reset', { title: 'Foo in a Bar', token: req.params.token, invalidTokenMsg: "Password reset token is invalid or has expired" });
} else {
res.render('reset', { title: 'Foo in a Bar', token: req.params.token, invalidTokenMsg: "Choose a strong password" });
}
});
});
myapp.js(AngularJS)
<!DOCTYPE html>
<html lang="en" xmlns:ng="http://angularjs.org" id="ng-app" ng-app="myApp">
<!-- stuff inside head -->
<head>
</head>
<body >
<!-- stuff inside body-->
</html>
有人告诉我如何在控制器中获得angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
//how to get the value of token here?
}]);
值?
答案 0 :(得分:1)
理想情况下,请求调用必须来自控制器内部。不会是这样,
angular.module('myApp', [])
.controller('MyController', ['$scope', $http, function($scope) {
$http.get('reset/:token',{token:'xyzabc'}).then(function(data){
});
}]);
(或)如果令牌更像是全局对象,则可以使用$ provide.constant并注入其他控制器对象。