我有一个 AngularJS 应用程序,我想在成功或失败时提醒或捕获以下两个返回的 JSON 值的消息。
出现两个问题。在状态代码 500 上,我无法获取返回的 JSON 的消息值,当我尝试提醒 msg
时,我得到了 undefined
。成功后我也无法解析 JSON。
网络控制台中的消息
GET inviteUsers 500 Internal Server Error
{"Message":"Users are not available"}
我需要做什么才能完成这项工作?
失败时返回 JSON - 返回状态码 500
{"Message":"Users are not available"}
JSON 成功
{"Message": "Invitations sent successfully"}
Controller 方法
$scope.inviteUsers = function(){
var msg = JSON.parse(createNewUserService.inviteUsers().query()["Message"]);
}
服务方法(Method GET)
var _inviteUsers = function(){
return $resource(serviceBase + 'inviteUsers',
{
});
};
最佳答案
以下内容有助于实现预期的结果。关键是使用 angularjs promise 。
var msg;
$scope.inviteUsers = function(){
var inviteUsers = createNewUserService.inviteUsers().query();
inviteUsers.$promise.then(function(data){
msg = JSON.parse(data).Message;
notify(msg);
},
function(error){
msg = "No invitations sent";
notify(msg);
});
}
关于javascript - AngularJS - 无论返回的 http 状态如何,如何捕获从 GET 服务方法返回的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882303/