AngularJS 400 错误请求不予任何回应
AngularJS 400 bad request don't give any response
我在 Google 和 stack overflow 上搜索过类似/甚至相同的问题。但我是新手,none 他们让我知道如何修复我的代码。
所以,这是我的脚本:
$http.post('/authlogin', {
email: $scope.userdata.email,
password: $scope.userdata.password
}).then(function(response) {
console.log(response);
if (response.status == 400) {
$scope.errormsg = response.data;
}
if (response.status == 200) {
window.location = '/admin';
}
});
200 OK
响应一切正常。但是每当登录失败时 API returns 400 Bad Request
。此时,错误看起来甚至没有使用 response
调用匿名函数。大多数地方检查 400、200、201 等是好的并且运行完美,但为什么不使用 400。
这是 AngularJS 在浏览器控制台中显示的错误(美化并删除了敏感数据):
Possibly unhandled rejection:
{
"data": "Invalid email/password combination.",
"status": 400,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"jsonpCallbackParam": "callback",
"url": "/authlogin",
"data": {
"email": "####",
"password": "***"
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json;charset=utf-8"
}
},
"statusText": "Bad Request"
}
我不是 angular.js 方面的专业人士,将不胜感激对此行为和解决方案的解释。
我的目标是向用户显示在 data
中返回的错误消息。
$http
返回的承诺通过调用第一个匿名函数解决。如果承诺被拒绝,则调用第二个匿名函数。这应该可以解决问题。
$http.post('/authlogin', {
email: $scope.userdata.email,
password: $scope.userdata.password
}).then(function(successCallback) {
if (successCallback.status == 200) {
window.location = '/admin';
}
}, function(errorCallback){
if (errorCallback.status == 400) {
$scope.errormsg = errorCallback.data;
}
});
有关更多示例,请阅读 docs
您可以阅读有关承诺的更多信息here
我在 Google 和 stack overflow 上搜索过类似/甚至相同的问题。但我是新手,none 他们让我知道如何修复我的代码。
所以,这是我的脚本:
$http.post('/authlogin', {
email: $scope.userdata.email,
password: $scope.userdata.password
}).then(function(response) {
console.log(response);
if (response.status == 400) {
$scope.errormsg = response.data;
}
if (response.status == 200) {
window.location = '/admin';
}
});
200 OK
响应一切正常。但是每当登录失败时 API returns 400 Bad Request
。此时,错误看起来甚至没有使用 response
调用匿名函数。大多数地方检查 400、200、201 等是好的并且运行完美,但为什么不使用 400。
这是 AngularJS 在浏览器控制台中显示的错误(美化并删除了敏感数据):
Possibly unhandled rejection:
{
"data": "Invalid email/password combination.",
"status": 400,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"jsonpCallbackParam": "callback",
"url": "/authlogin",
"data": {
"email": "####",
"password": "***"
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json;charset=utf-8"
}
},
"statusText": "Bad Request"
}
我不是 angular.js 方面的专业人士,将不胜感激对此行为和解决方案的解释。
我的目标是向用户显示在 data
中返回的错误消息。
$http
返回的承诺通过调用第一个匿名函数解决。如果承诺被拒绝,则调用第二个匿名函数。这应该可以解决问题。
$http.post('/authlogin', {
email: $scope.userdata.email,
password: $scope.userdata.password
}).then(function(successCallback) {
if (successCallback.status == 200) {
window.location = '/admin';
}
}, function(errorCallback){
if (errorCallback.status == 400) {
$scope.errormsg = errorCallback.data;
}
});
有关更多示例,请阅读 docs
您可以阅读有关承诺的更多信息here