Я хочу сделать очень простую регистрацию с помощью AngularJS. Во-первых, я получаю пользователя с этим электронным письмом и присваиваю $ scope.users. Если метод GetUserByEmail возвращает более одного пользователя, я пытаюсь показать сообщение «Пользователь уже существует». И вот проблема. Метод GetUserByEmail исключается. Программа «перескакивает» на условие «если» и $ scope.users всегда пуста, я не знаю почему. Иногда после добавления пользователя в базу данных, метод возвращает массив объекта и присвоить $ scope.usersРегистрация с использованием AngularJS
Это мой код с помощью метода CreateUser:
var RegisterController = function ($scope, Api, $http) {
$scope.users = {
}
$scope.CreateUser = function() {
var user = {
Password: $scope.password,
Name: $scope.name,
Surname: $scope.surname,
Email: $scope.email,
DateOfBirth: $scope.dateofBirth
}
Api.GetUserByEmail("Users", "GetUserByEmail", $scope.email).then(function (d) {
$scope.users = d;
});
if ($scope.users.length > 0)
{
alert("User already exists!");
$scope.users = {};
}
else
{
Api.PostUser("Users", "PostUser", user).then(function (d) {
alert("Hello");
});
}
};
}
RegisterController.$inject = ['$scope', 'Api', '$http'];
И метод GetUserByEmail:
this.GetUserByEmail = function (controllerName, methodName, email) {
var promise = $http({
method: 'GET',
url: 'api/' + controllerName + '/' + methodName + '?email=' + email,
config: {
params: {
"email": email
}
}
})
.then(function onSuccess(response) {
return response.data;
},
function onError(response) {
return response.statusText;
});
return promise;
}
Это тоже работает, спасибо! :) – ryckoshet