0
我有一个身份验证代码,当我得到一个成功的消息,因为在200响应状态,那么它的罚款,但如果我得到401该页面应该显示错误,因为我已经设置了一些错误状态,但这不会发生,我也看到视图刷新并变成空白。请帮助
app.controller('MyController', ['$scope', '$location', '$http','$rootScope','$route','$localStorage', function ($scope, $location, $http, $rootScope,$route, $localStorage) {
$scope.username = "";
$scope.password = "";
$scope.ipsenData = {};
$scope.username="";
$scope.password="";
$scope.invalidUser="";
/*Functionalities of the Application*/
$scope.login = function() {
$http.post('/ipsen/login', {
username: $scope.username,
password: $scope.password
}).
success(function (data, status, headers, config) {
if(status===200){
console.log("Login Successful");
$http.get('/ipsen/getrole?userName='+$scope.username)
.success(function (data, status, headers, config) {
if(data.rows[0].RoleName==="Ipsen Manager"){
var data = data.rows[0];
/*Username and Role Storage*/
$localStorage.username=$scope.username;
$localStorage.FirstName=data.FirstName;
$localStorage.LastName=data.LastName;
$localStorage.OrganizationName=data.OrganizationName;
$localStorage.RoleName=data.RoleName;
$localStorage.Email=data.Email;
$location.path('/customers').replace();
}
else{
var data = data.rows[0];
/*Username and Role Storage*/
$localStorage.FirstName=data.FirstName;
$localStorage.LastName=data.LastName;
$localStorage.OrganizationName=data.OrganizationName;
$localStorage.RoleName=data.RoleName;
$localStorage.Email=data.Email;
$location.path('/furnacelist/'+$scope.username+"/"+"customer").replace();
}
/**/
})
.error(function (data, status, headers, config) {
console.log(data);
});
}
}).
error(function (data, status, headers, config) {
if(status === 401){
$scope.invalidUser="Please Enter Valid Username & Password";
}
});
};
}]);
最初页面有一个视图,您可以在其中查看登录表单和全部。点击登录后,视图一起改变。 –
它看起来像你需要设置一个拦截器来处理这个。请参阅[Angular docs](https://docs.angularjs.org/api/ng/service/$http#interceptors),[Lukas Ruebbelke]的文章(http://onehungrymind.com/winning-http-拦截器 - angularjs /)是有用的。 –