You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Node.js向AngularJS控制器传递参数?

从Mustache模板传递Token到AngularJS控制器的实现方案

看起来你已经搞定了Node.js端到Mustache模板的token传递,接下来要让AngularJS的ResetController拿到这个值对吧?我给你几个简单靠谱的实现方式:

1. 用Angular Constant注入Token(推荐)

这种方式最贴合Angular的架构设计,把token作为全局常量注入到应用中:

首先在Mustache模板的头部添加一段脚本,把token输出为Angular的constant:

<script>
  // 若token包含特殊字符,用{{{token}}}避免HTML转义
  angular.module('eyeApp').constant('RESET_TOKEN', '{{token}}');
</script>

然后在你的ResetController中直接注入这个常量就能使用了:

angular.module('eyeApp').controller('ResetController', ['RESET_TOKEN', function(RESET_TOKEN) {
  const vm = this;
  vm.resetToken = RESET_TOKEN;
  
  // 接下来就可以用这个token发起重置密码的API请求了
  console.log('重置Token:', vm.resetToken);
}]);

2. 用ng-init直接绑定到作用域

如果不想用constant,也可以通过ng-init把token直接绑定到控制器的作用域:

修改你的<body>标签,添加ng-init属性:

<body ng-app="eyeApp" ng-controller="ResetController" ng-init="resetToken = '{{token}}'">

然后在控制器中从$scope获取:

angular.module('eyeApp').controller('ResetController', ['$scope', function($scope) {
  const vm = this;
  vm.resetToken = $scope.resetToken;
}]);

3. 完整整合后的页面代码示例

结合你的原始页面代码,修改后大概是这样:

<!DOCTYPE html>
<html>
<head>
  <!-- 你的其他头部资源 -->
  <script>
    angular.module('eyeApp').constant('RESET_TOKEN', '{{token}}');
  </script>
</head>
<body ng-app="eyeApp" ng-controller="ResetController">
  <div id="wrapper">
    <div id="layout-static">
      <div class="static-content-wrapper">
        <div class="static-content">
          <div id="wrap" ui-view class="mainview-animation animated"></div>
          <!--wrap -->
        </div>
        <footer role="contentinfo" ng-show="!layoutLoading" ng-cloak>
          <!-- 你的footer内容 -->
        </footer>
      </div>
    </div>
  </div>
</body>
</html>

一些注意事项

  • 转义问题:如果你的token包含HTML特殊字符(比如&、<等),记得用Mustache的三重大括号{{{token}}}输出,避免被转义导致token失效。
  • 安全提示:重置密码的token是敏感信息,一定要确保你的网站使用HTTPS传输,防止token被中间人拦截。另外后端一定要在使用token前校验其有效性和过期时间,避免恶意利用。

内容的提问来源于stack exchange,提问作者devRena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:00:51