【问题标题】:expressjs redirect to angular route not initiating appexpressjs重定向到不启动应用程序的角度路由
【发布时间】:2017-08-08 10:36:48
【问题描述】:

我有以下 nodejs app.js

app.use('/', routes);
app.get('some_api', routes.someApi);

app.use(function (req, res) {
    res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

还有 angularjs app.js 和 index.html

$routeProvider.when('/', {
    templateUrl: '/login/login.view.html',
    controller: 'loginCtrl'
  })

angular
    .module('app')
    .config(['$routeProvider', '$locationProvider', config]);

=====================

<!DOCTYPE html>
<html ng-app="app">

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
</head>

<body>
  <div ng-view></div>
  <script src="/app.js"></script>  
</body>

</html>

从 expressjs api 我重定向到 '/' 比如:

module.exports.some_api = function (req, res, scope) {
   res.redirect('/');
};

但重定向后,我在控制台中看到很多错误,提示未定义角度。

看起来 angular 没有触发。

感谢任何帮助。 谢谢。

【问题讨论】:

  • 你的 Angular 应用初始化代码在哪里。像这样: var app = angular.module("myApp", []);
  • @GauravSrivastava 在 app.js 的同一层次结构中。我已经在上面添加了。
  • angular.module('app') 应该是 angular.module('appliedBio')
  • @GauravSrivastava:这只是一个错字。
  • @GauravSrivastava 如果我简单地运行应用程序,它工作正常。问题仅在我从 expressjs api 内部调用 res.redirect('some_api') 或 res.redirect('/') 时才开始。

标签: javascript angularjs node.js express redirect


【解决方案1】:

我从 expressjs api 中直接这样调用了角度路由:

module.exports.some_api = function (req, res, scope) {
   res.redirect('/#/summary');
};

而且它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2018-02-11
    相关资源
    最近更新 更多