Javascript 无法在angularJS登录页面上显示错误消息
我有一个spring boot应用程序,其中配置了angularjs,在用于身份验证的ajax调用中,如果身份验证失败,将执行错误回调,在这个错误回调中,我将收到一条错误消息,作为数据的一部分,我必须将其显示在登录页面上,但该页面不起作用。下面是错误回调方法Javascript 无法在angularJS登录页面上显示错误消息,javascript,angularjs,Javascript,Angularjs,我有一个spring boot应用程序,其中配置了angularjs,在用于身份验证的ajax调用中,如果身份验证失败,将执行错误回调,在这个错误回调中,我将收到一条错误消息,作为数据的一部分,我必须将其显示在登录页面上,但该页面不起作用。下面是错误回调方法 onerror = function(data){ console.log(data); -- the output of data is as below "timestamp":1498971200809,"s
onerror = function(data){
console.log(data); -- the output of data is as below
"timestamp":1498971200809,"status":401,"error":"Unauthorized","message":"check your password","path":"/demo/authenticate"}
vm.error= true; // setting error to true
vm.errMessage = data.message; // here data.message gives me
undefined
$location.path("/customlogin");
}
customlogin.html代码是
<body ng-controller="ContactLoginCtrl as Contactctrl">
<div ng-if="Contactctrl.error"> -- this is always evaluating false
{{Contactctrl.errMessage}}
</div>
</body>
下面控制台输出的屏幕截图
我认为您在错误的函数中设置了值,或者在函数中设置的值不是您想要做的。在
onusererror
中设置error
和errMessage
的值。正如您在评论中所说,您正在打印onusererror
中的值,这意味着您从AuthenticateService.login(用户名、密码)获得success
代码>并且无法调用onerror
onerror = function(data){
vm.error= true;
vm.errMessage = data.message;
alert(vm.errMessage);
$location.path("/customlogin");
}
onusersuccess = function(data){
console.log("userData"+JSON.stringify(data))
$location.path("/home");
};
onusererror = function(data){
console.log(data);
vm.error= true;
vm.errMessage = data.message;
alert(vm.errMessage);
$location.path("/customlogin");
};
请发布controllerconsole结果数据的完整代码,并查看是否包含“消息”field@RohanKawade,控制台结果数据包含消息字段,下面是输出{“timestamp”:1498976864439,“status”:401,“error”:“Unauthorized”,“message”:“check your password”,“path”:“/demo/authenticate”}如果我的猜测正确,您从onusererror
函数中得到错误,但不是从onerror
中得到错误。请参阅,您还可以在onusererror
中打印数据
,并在onerror
中设置值。这可能是我认为您应该解析结果JSON的问题…可能是服务返回一个结果字符串更改了代码,如上所述,这是相同的问题401(未经授权)--这是身份验证失败错误,仅此而已,我必须显示错误消息请告诉我哪个函数在错误onerror
或onusererror
上运行?请正确观察您在onerror
中提到的警报。这是否有效,表示警报是否有效?是的,警报有效,下面是被警报的数据{“时间戳”:1498971200809,“状态”:401,“错误”:“未经授权”,“消息”:“检查密码”,“路径”:“/演示/验证”}
onerror = function(data){
vm.error= true;
vm.errMessage = data.message;
alert(vm.errMessage);
$location.path("/customlogin");
}
onusersuccess = function(data){
console.log("userData"+JSON.stringify(data))
$location.path("/home");
};
onusererror = function(data){
console.log(data);
vm.error= true;
vm.errMessage = data.message;
alert(vm.errMessage);
$location.path("/customlogin");
};