捕获角度js失败的响应?

时间:2014-02-26 15:05:11

标签: angularjs angularjs-scope angularjs-service

我是新手并且第一次使用角度。我正在以角度调用一个服务。当呼叫成功时,它会给出响应,例如用户名和他的登录信息。当调用失败时它会给我错误消息。响应我得到成功我能够绑定在html端但响应我得到失败我无法绑定在HTML上可以有人指导我如何绑定失败回复html。提前致谢 这是我的功能,

function getInsuredWebAccount(insuredId) {
    var deferred = $q.defer();
    var web = $resource(webAccountServiceHostName, {}, {
        get: {
            method: 'Get',
            headers: {
                Authorization: 'Basic c3J1bml0ZTo1OUJFODUwNUIyRjM0OEVGQTI1RTU1RjU4NEVGNUE0',
                Accept: 'application/json;odata=verbose'
            }
        }
    });
    web.get({ insuredId: insuredId }, function onSuccess(response) {
        var webInfo = response;

        webInfo.a = webInfo.username;
        if (moment(response.last_login_date).isValid()) {

            response.last_login_date = moment(response.dateOfBirth).format('MM/DD/YYYY');
        } else {
            response.last_login_date = "";
        }
        deferred.resolve(response);
    }, function onFailure(response) {               
        var info = response;

        info.b = info.data.error_message;               

        deferred.reject(response);
    });

    return deferred.promise;
}

1 个答案:

答案 0 :(得分:0)

在此方法中处理成功/失败承诺的方式是如何在控制器中处理它。

由于您正在返回一个对其具有功能的承诺,因此需要3个函数... uccessCallbackerrorCallbacknotifyCallback

在您的控制器中:

var insId = [somevalue];
getInsuredWebAccount(insId)
    .then(function successCallback(x){
              $scope.bindToThisInUi = x;
          },
          function errorCallback(x){
              $scope.errorValue = x;
          },
          function notifyCallback(x){}/* not used here */);

您可以在此处详细了解它们:AngularJS docs for $q