我使用deployd来模拟http请求。我想用我的数据库凭据进行身份验证。
这是我的控制器代码
.controller("authCtrl", function($scope, $http, $location, authUrl) {
$scope.authenticate = function (user, pass) {
$http.post(authUrl, {
username: user,
password: pass
}).success(function (data) {
console.log(data);
$location.path("main");
}).error(function (error) {
console.log("error");
$scope.authenticationError = error;
});
}
})
输入一个凭据错误后,我收到以下消息。
Object { message: "bad credentials", status: 401 }
我正确输入两个凭据后收到以下消息。
Object { path: "/users", id: "11a58ccdcc31c9b863b7a5e63d9d672fdae…", uid: "e2ad770f0847f8ac" }
我的问题不是得到"错误"登录。只有成功事件被解雇。输入凭证错误或正确不会改变情况。
答案 0 :(得分:0)
尝试捕获error.status = 401,例如https://github.com/moorthi07/MarsCMS/
$scope.login = function () {
$scope.newUser.$login().then(function (success) {
$rootScope.$broadcast('user:login');
$state.go('dashboard.intro');
}, function (err) {
if (err.status == 401) {
// $mdToast.show(
// $mdToast.simple()
// .content('Username or password invalid!')
// .position('right bottom')
// );
} else {
// $mdToast.show(
// $mdToast.simple()
// .content('An error occured. Please check log.')
// .position('right bottom')
// );
console.log(err);
};
});
};