【发布时间】:2016-12-06 06:22:09
【问题描述】:
function registrationSave(data){
return $http({
method: 'POST',
url: 'registration/save',
data: data
}).then(function(response){
console.log("@@@1 "+JSON.stringify(response));
},function(error){
console.log("@@@2"+JSON.stringify(error));
return error.data;
}).catch(function (data) {
// Handle error here
});
};
这是服务发生错误时的服务器响应
//服务器响应
{
"code": 400,
"message": "Failled with registration Id 1,341.",
"result": "False"
}
如果出现 400 错误,客户端代码响应未定义?它永远不会在客户端代码中出错。
为什么会这样?
这是使用的拦截器
/**
* To handle error response.
*/
function responseError(error) {
if (error.status === 401 || error.status === 403) {
if(error.data != null && error.data.code === 401 ){ //access denied error
toaster.error( 'Access denied', 'User does not have privilege');
}
}
}
如果是400,我可以回到这里的方法吗?
【问题讨论】:
-
你没有传递正确的数据,可能是你错过了id或者你传递了一些错误的数据。所以它显示 400 bad request
-
我从服务器端发送的错误请求,但客户端接收为未定义
-
你的应用中有拦截器吗?
-
我认为您没有将错误作为错误发送。相反,您只是发送 JSON 响应。问题不在于 AngularJS,它是需要修复的服务器端代码。
-
@Raghu Venmarathoor 是的,它要去拦截器。
标签: angularjs spring-mvc angular-fullstack