javascript - 如何从节点服务器到AngularJS控制器获取请求路径变量值

我想从电子邮件客户端内部(例如,Gmail)通过使用ExpressJS发送到节点服务器的链接获取token路径变量的值,然后在控制器(MyController)中提供该值。

服务器正在显示视图reset.ejs,并将传递的token值作为参数传递给它。

以下是上述情况的代码:

server.js(ExpressJS)

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" });
        }
    });
});


reset.ejs(EJS)

<!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>


myapp.js(AngularJS)

angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
    //how to get the value of token here?
}]);


有人告诉我如何在控制器中获取token值?


最佳答案:

理想情况下,请求调用必须源自控制器内部。会不会像

angular.module('myApp', [])
.controller('MyController', ['$scope', $http, function($scope) {
    $http.get('reset/:token',{token:'xyzabc'}).then(function(data){
     });
}]);


(或)如果令牌更像是全局对象,则可以使用$ provide.constant并注入其他控制器对象。

译文:来源   文章分类: javascript angularjs node.js express ejs

相关文章:

javascript - 我的数据库通过Phonegap存储在Android中的/data/data/package-name/app_database/file__0/*.db中

javascript - 角度隐藏并显示多个div

javascript - Vue mapState非反应性

javascript - 获取使用:before和:after合成的元素的实际高度

javascript - 动画和过渡的组合无法正常工作

javascript - JavaScript将事件从div委托给输入类型范围

javascript - 我如何获得一个socket.username? (socket.io)

javascript - Javascript / ECMAScript中的功能范围是什么?

javascript - 查找UL中的最后一个孩子或孙子

javascript - 计算JavaScript中数组的差异补丁