2017-02-07 23 views
1

こんにちは私は、フロントエンドとしてangularjs、バックエンドとしてweb api2の1つのアプリケーションを開発しています。私は角度とウェブAPIの両方に新しいです。私はangularjsのログインページを完了しました。私のログインが成功すると、Views/Home/index.cshtmlにあるIndex.cshtmlというページに行きたいと思っています。私は以下のように努力しています。angularjsでログインに成功した後、他のページにリダイレクトする方法は?

これは私のコントローラコードです。

app.controller('Login', function ($scope, LoginService) { 
    $scope.Login = function() { 
     var sub = { 
      User_Name: $scope.User_Name, 
      User_Password: $scope.User_Password 
     }; 
     var checkData = LoginService.Login(sub); 
     checkData.then(function (data) { 
      //want redirection 
      var url = '/Home/Index/'; 
      window.location = url; 
      }, function (error) { 
      }) 
     }; 
}); 

これは私のmodule.js

var app; 
(function() { 
    app = angular.module("Login", []); 
})(); 

service.js

app.service("LoginService", function ($http) { 
    this.Login = function (sub) { 
     var credentials = { User_Name: sub.User_Name, User_Password: sub.User_Password }; 
      $http.post('api/NCT_UsersLogin/', credentials).success(function (response) { }); 
    } 
}); 

である私はwindow.locationのを使用してしようとしていますが、それは動作しません。ここで助けてもらえますか?どんな助けもありがとう。ありがとうございました。

$window.location.href = '/Home/index.html'; 

もあなたは試してみてください$state.go(url)

を使用することができ、あなたのコントローラ

app.controller('Login', function ($scope, LoginService,$window) { 
    $scope.Login = function() { 
     var sub = { 
      User_Name: $scope.User_Name, 
      User_Password: $scope.User_Password 
     }; 
     var checkData = LoginService.Login(sub); 
     checkData.then(function (data) { 
      //want redirection   
       $window.location.href = '/Home/index.html'; 
      }, function (error) { 
      }) 
     }; 
}); 
+0

ルック:元については

。 – DarkSkull

答えて

1

これを試してみてください、この

app.controller('Login', function ($scope, LoginService, $state) { 
    $scope.Login = function() { 
     var sub = { 
      User_Name: $scope.User_Name, 
      User_Password: $scope.User_Password 
     }; 
     var checkData = LoginService.Login(sub); 
     checkData.then(function (data) { 
      //want redirection 
      var url = '/Home/Index/'; 
      $state.go(url); 
      }, function (error) { 
      }) 
     }; 

});この中

window.location = url; 

+0

ありがとうございます。私はservice.jsの問題を発見しました.Controllがcontroller.jsの成功呼び出しに戻ってこないからです。 –

+0

service.jsファイルに何かがないことが分かりますか? –

+0

私は返信応答を入れなければならないサービス – Sajeetharan

2

に$ウィンドウを注入

+0

私はOPがルーティングを使用しているとは思わない – Sajeetharan

+0

$ state 'は定義されていません。このエラーメッセージが表示されています。 –

+0

今コントローラーに '$ state'を入れるのを忘れました。 –

0

は、これを変更してみ

window.open("http://www.example.com","_self"); 

あなたが正常にリダイレクトする必要があります。

0

$ state.go( '/ home');を使用する必要があります。私の答えで

 $http.post('api/NCT_UsersLogin/', credentials).success(function (response) { 
     //if your response status is success then redirect to another page using 
     $state.go('/home'); 
    }); 
関連する問題