javascript - 如何获取从 Node 服务器到 AngularJS Controller 的请求路径变量值

标签 javascript angularjs node.js express ejs

我希望通过使用 ExpressJS 将电子邮件客户端(例如 Gmail)内部的 token 路径变量的值通过链接发送到 Node 服务器,然后在 Controller 中提供该值( MyController)。

服务器正在显示 View 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?
}]);

有人告诉我如何获取 Controller 中的token值?

最佳答案

理想情况下,请求调用必须源自 Controller 内部。是不是会这样,

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

(或者)如果 token 更像是一个全局对象,您可以使用 $provide.constant 并注入(inject)到其他 Controller 对象中。

关于javascript - 如何获取从 Node 服务器到 AngularJS Controller 的请求路径变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27447869/

相关文章:

html - 在 AngularJS 中,我如何选择将项目包装在链接中

javascript - 使用 node.js 下载大文件,避免高内存消耗

javascript - 设置边框时如何防止移位?

javascript - ng-model 无法在 AngularJS 的 ui-select 中工作?

javascript - 如果值大于 255,我如何使用 angularJS 禁用按钮?

javascript - Angular 教程 - 我在哪里迷路了?

Javascript动态文本框改变焦点

javascript - 如何使用 JWT token 对网站用户进行 FireBase 身份验证?

node.js - 获取 Waterline 中插入的记录

javascript - i var 在 for 循环内未定义