Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用WebAPI2内置登录功能-AngularJS和MVC_Asp.net Mvc_Angularjs_Asp.net Web Api2 - Fatal编程技术网

Asp.net mvc 使用WebAPI2内置登录功能-AngularJS和MVC

Asp.net mvc 使用WebAPI2内置登录功能-AngularJS和MVC,asp.net-mvc,angularjs,asp.net-web-api2,Asp.net Mvc,Angularjs,Asp.net Web Api2,我正在用AngularJS网站构建一个MVC,该网站连接到一个WebAPI2项目 我正在尝试让登录和注册页面正常工作 我已经遵循了这个pluralsight视频中的模块-但是我需要稍微修改它,以更好地适应我的网站结构,并在用户表中存储更多详细信息 当我尝试注册用户时,出现以下错误 TypeError: Cannot read property 'registerUser' of undefined at Scope.$scope.RegisterUser (http://localhost:44

我正在用AngularJS网站构建一个MVC,该网站连接到一个WebAPI2项目

我正在尝试让登录和注册页面正常工作

我已经遵循了这个pluralsight视频中的模块-但是我需要稍微修改它,以更好地适应我的网站结构,并在用户表中存储更多详细信息

当我尝试注册用户时,出现以下错误

TypeError: Cannot read property 'registerUser' of undefined
at Scope.$scope.RegisterUser (http://localhost:44260/Scripts/MyProject/Controllers/RegisterController.js:14:33)
我的代码: LoginController.js

var LoginController = function ($scope, $window, UserAccount, CurrentUser) {

$scope.Register = function() {
    $window.location.href = '/home/register';
};

$scope.isLoggedIn = function () {
    return CurrentUser.getProfile().isLoggedIn;
};
$scope.message = '';

$scope.registerUser = function () {
    $scope.model.confirmPassword = $scope.model.password;

    UserAccount.registration.registerUser($scope.model,
        function (data) {
            $scope.model.confirmPassword = "";
            $scope.message = "... Registration successful";
            $scope.login();
        },
        function (response) {
            $scope.isLoggedIn = false;
            $scope.message = response.statusText + "\r\n";
            if (response.data.exceptionMessage)
                $scope.message += response.data.exceptionMessage;

            // Validation errors
            if (response.data.modelState) {
                for (var key in response.data.modelState) {
                    $scope.message += response.data.modelState[key] + "\r\n";
                }
            }
        });
}

$scope.login = function () {
    $scope.model.grant_type = "password";
    $scope.model.userName = $scope.model.email;

    UserAccount.login.loginUser($scope.model,
        function (data) {
            $scope.message = "";
            $scope.model.password = "";
            CurrentUser.setProfile($scope.model.userName, data.access_token);
        },
        function (response) {
            $scope.model.password = "";
            $scope.message = response.statusText + "\r\n";
            if (response.model.exceptionMessage)
                $scope.message += response.model.exceptionMessage;

            if (response.model.error) {
                $scope.message += response.model.error;
            }
        });
}

};

LoginController.$inject = ['$scope', '$window', 'UserAccount', 'CurrentUser'];
UserAccount.js:

var UserAccount = function userAccount($resource, ApiAddress) {
    return function () {
        registration: $resource(ApiAddress + "/api/Account/Register", null,
        {
            'registerUser': { method: 'POST' }
        });
        login: $resource(ApiAddress + "/Token", null,
        {
            'loginUser': {
                method: 'POST',
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
                transformRequest: function(data, headersGetter) {
                    var str = [];
                    for (var d in data)
                        str.push(encodeURIComponent(d) + "=" +
                            encodeURIComponent(data[d]));
                    return str.join("&");
                }
            }
        });
    }};
 UserAccount.$inject = ['$resource', 'ApiAddress'];
CurrentUser.js

var CurrentUser = function() {
return function () {
    var profile = {
        isLoggedIn: false,
        username: "",
        token: ""
    };

    var setProfile = function (username, token) {
        profile.username = username;
        profile.token = token;
        profile.isLoggedIn = true;
        return profile;
    };

    var getProfile = function () {
        return profile;
    }

    return {
        setProfile: setProfile,
        getProfile: getProfile
    }
}};
CurrentUser.$inject = [];