#angularjs
#angularjs
Вопрос:
У меня есть $http service
, который проверяет, существует ли пользователь в базе данных или нет. Проблема в том, что даже если пользователь не существует и data = false
, код состояния все равно возвращает 200
videoStoreApp.factory('UserApi', function($http){
var myService = {};
myService.login = function(username,password){
return $http({
method: 'GET',
url: 'app/services/user/getUser.php',
params: {username: username,
password: password}
}).then(function(data){
var obj = {
complete: true,
data: data.data
};
if(obj.data === false)
{
return false;
}
return obj;
});
};
return myService;
Ниже приведен мой код службы loginModal. Я хотел бы остановить переход, если не удается войти в систему пользователя.
videoStoreApp.service('loginModal', function ($uibModal, $rootScope)
{
function assignCurrentUser (user) {
$rootScope.currentUser = user;
return user;
}
return function() {
var instance = $uibModal.open({
templateUrl: 'app/views/loginModalTemplate.html',
controller: 'LoginModalCtrl',
controllerAs: 'LoginModalCtrl'
});
return instance.result.then(assignCurrentUser);
};
});
Комментарии:
1. В чем ваш вопрос? Если пользователь не существует, вы, вероятно, хотите реализовать серверную часть для ответа со статусом 404, или у вас есть возможность обрабатывать obj.data === false в вашем сервисе.
2. Ну, у меня есть служба loginModal (), которая должна возвращать обещание при успешном входе в систему. это мой сервисный код.