1

您好我正在开发一个以 angularjs 作为前端和 web api2 作为后端的应用程序。我对 Angular 和 web api 都很陌生。我已经在 angularjs 中完成了登录页面。登录成功后,我想转到位于 Views/Home/index.cshtml 的名为 Index.cshtml 的页面。我正在尝试如下。

这是我的控制器代码。

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", []);
})();

服务.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 但它不起作用。我可以在这里得到一些帮助吗?任何帮助,将不胜感激。谢谢你。

4

4 回答 4

2

您可以使用$state.go(url)

尝试这个

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) {
            })
        };

});

于 2017-02-07T09:01:25.087 回答
1

尝试这个,

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

还将 $window 注入您的控制器

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) {
            })
        };
});
于 2017-02-07T09:00:50.323 回答
0

尝试改变这一点:

window.location = url;

在这:

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

您应该正确重定向。

于 2017-02-07T09:02:40.140 回答
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');
     });
于 2017-02-07T09:24:44.143 回答