无法访问 AngularJS $http 错误响应数据
Cannot access AngularJS $http error response data
我是 运行 函数,当我正确输入数据时,它会完全按照我的需要进行操作,但是当提供的数据无效时,我想 return 将错误消息发送给用户。正如您在图片中看到的,请求 return 是我想要显示的消息,但我无法访问它!
我的AngularJS控制器:
vm.avpLogic = function(last, avp_id) {
console.log("Checking AVP Registration");
alert("Checking AVP Registration");
registrationDataFactory.checkAVPReg({ last: last, id: avp_id })
.then(function(response){
if(!response) {
console.log(error);
alert(error);
}
console.log(" frontend RESPONSE ");
console.log(response);
vm.avp = response;
vm.addPlayer(vm.registration, vm.avp)
})
.catch(function(response){
// THE RESPONSE COMES BACK HERE FOR INVALID DATA
console.log(response.body); // THROWS ERRORS, see pic
console.log("An error occurred, but we don't know how to log it.", message);
alert("FAILED AVP CHECK. Name and ID must match exactly, and they must be active during the rumble.");
return error;
});
}
我试过记录错误、res、response、message,它们都给我一个错误。如果我删除 console.log 行,它会弹出一条带有 FAILED AVP CHECK 消息的警报。我希望它是自定义的,并在响应中显示消息 window。
向后追溯,我的数据工厂console.log很好:
function complete(response) {
console.log("data factory response SUCCESS!");
return response;
}
function failed(error) {
console.log("API error response: ", error);
}
当我查看控制台时,只看到我可以访问但似乎无法访问的错误对象。
我的 NodeJS 函数发送错误的部分:
return res.status(422).send({
message: 'Missing parameters! Need name and AVP ID'
});
工厂有问题:
ERRONEOUS
function failed(error) {
console.log("API error response: ", error);
}
更好
function failed(error) {
console.log("API error response: ", error);
//RE-THROW error
throw error;
}
当 promise 错误处理程序无法重新抛出错误时,函数 returns undefined
。这 将 被拒绝的承诺转换为价值 undefined
.
的已履行承诺
有关详细信息,请参阅
我是 运行 函数,当我正确输入数据时,它会完全按照我的需要进行操作,但是当提供的数据无效时,我想 return 将错误消息发送给用户。正如您在图片中看到的,请求 return 是我想要显示的消息,但我无法访问它!
我的AngularJS控制器:
vm.avpLogic = function(last, avp_id) {
console.log("Checking AVP Registration");
alert("Checking AVP Registration");
registrationDataFactory.checkAVPReg({ last: last, id: avp_id })
.then(function(response){
if(!response) {
console.log(error);
alert(error);
}
console.log(" frontend RESPONSE ");
console.log(response);
vm.avp = response;
vm.addPlayer(vm.registration, vm.avp)
})
.catch(function(response){
// THE RESPONSE COMES BACK HERE FOR INVALID DATA
console.log(response.body); // THROWS ERRORS, see pic
console.log("An error occurred, but we don't know how to log it.", message);
alert("FAILED AVP CHECK. Name and ID must match exactly, and they must be active during the rumble.");
return error;
});
}
我试过记录错误、res、response、message,它们都给我一个错误。如果我删除 console.log 行,它会弹出一条带有 FAILED AVP CHECK 消息的警报。我希望它是自定义的,并在响应中显示消息 window。
向后追溯,我的数据工厂console.log很好:
function complete(response) {
console.log("data factory response SUCCESS!");
return response;
}
function failed(error) {
console.log("API error response: ", error);
}
当我查看控制台时,只看到我可以访问但似乎无法访问的错误对象。
我的 NodeJS 函数发送错误的部分:
return res.status(422).send({
message: 'Missing parameters! Need name and AVP ID'
});
工厂有问题:
ERRONEOUS
function failed(error) { console.log("API error response: ", error); }
更好
function failed(error) {
console.log("API error response: ", error);
//RE-THROW error
throw error;
}
当 promise 错误处理程序无法重新抛出错误时,函数 returns undefined
。这 将 被拒绝的承诺转换为价值 undefined
.
有关详细信息,请参阅