【问题标题】:Redirect to another page with Angular使用 Angular 重定向到另一个页面
【发布时间】:2015-04-28 19:42:53
【问题描述】:

我对 Angular 很陌生,所以我想提前为这个问题道歉。

我有这个发送 POST 请求的 Angular 脚本,在失败部分我想将用户重定向到另一个页面。 这是网站的结构

-登录文件夹
js 文件夹
控制器.js
login.html
login.css
-index.html

我在 controllers.js 中的 Angular 代码 ID。我使用 login.html 中的代码。我需要将用户从 login.html 重定向到 index.html。不幸的是,这不起作用,当它进入代码的错误部分时,它不会重定向用户。

代码如下:

var app = angular.module('WebApp', []);

app.controller('myCtrl', function($scope, $http, $location) {
  $scope.login = function($location){
    $scope.incorrectPass = false;
    $http.post('service link', {'email': $scope.username, 'password': $scope.password, 'UUID': 'dknasklaxcaosdhdajkshnjk', 'platform': 1})
    .success(function(data, status, headers, config) {
      alert("request success");
    })
    .error(function(data, status) {
      $scope.$apply(function() { $location.path("/index.html"); });
    });
  }
}); 

【问题讨论】:

  • 如果你只使用 Javascript location.href 来重定向你的页面,如果它无法加载请求,我想这会返回你想要做的! :)
  • 我希望在你的 routeProvider 或 stateProvide 中你有到 index.html 的路由。它永远不会像这样工作。你应该有路由到 .html 页面
  • 您看到任何错误吗?并且您是否配置了您的路线提供者?
  • 我没有任何路由或路由提供商。但它适用于干净的javascript。所以我想我会使用它。谢谢

标签: javascript html angularjs


【解决方案1】:

我希望在你的 routeProvider 或 stateProvide 中你有到 index.html 的路由。它永远不会像这样工作。你应该有路由到 .html 页面

 .config(['$routeProvider', function ($routeProvider) {
    $routeProvider
   .when("/home", {
        title: 'home',
        templateUrl: 'index.html',
        controller: 'HomeController as homeCtrl'
    }) 
   .otherwise({
        redirectTo: '/login'
    });

如果你这样做了

    $location.path("/home");

在您的 login/js/controller.js 文件中,它应该可以工作。

【讨论】:

    【解决方案2】:

    使用此代码进行重定向 $window.location.href = '/index.html';

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多