2014-02-26 46 views
0

我是新手,第一次在角度上工作。我正在调用一个角度的服务。当通话成功时,它会给我回复如用户名和他的登录信息。当呼叫失败,它给了我错误消息。我得到的成功的响应我能够绑定在HTML端但响应我失败我无法绑定在HTML上可以指导我如何我可以绑定失败对html的回应。在此先感谢 这里是我的功能,捕获角js失败的响应?

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; 
} 

回答

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