Angular:$ resource在bad url上返回null响应错误

时间:2015-09-28 21:31:59

标签: angularjs event-handling angular-resource

我对$ resource的使用只有在服务器返回错误时才能捕获错误,比如糟糕的登录等。但是,任何其他错误,如错误的网址等等都被Angular本身吞没了,而没有冒泡到我的异常处理程序。

See the demo.

单击登录按钮,警报显示但响应对象中没有任何内容。然而,控制台日志显示错误。

这是代码

    (function() {
  "use strict";
  function userAccount($resource) {
    return {
      login: $resource("http://lab2/Token", {}, {
        'loginUser': {
          method: 'POST'
        }
      })
    };
  }
  angular.module("mymod", ["ngResource"])
    .factory("userAccount", ["$resource",
      userAccount
    ])
}());

(function() {
  "use strict";

  function homeCtrl(userAccount) {
    var vm = this;
    vm.test = "My test";
    var obj = {
      user: "usera",
      password: "secret"
    };
    vm.login = function() {
      userAccount.login.loginUser(
        obj,
        function(data) {
          console.log("Yes");
        },
        function(response) {
          alert("Bad" + response.data.error_description);
        });
    }
  }
  angular.module("mymod").controller("homeCtrl", ["userAccount", homeCtrl]);
}());

2 个答案:

答案 0 :(得分:1)

请检查此link并寻找$ promise

这是一个例子:

vm.login = function() {
  userAccount.login.loginUser(obj).$promise.then(
      function (response) {
         // todo response;
       }, function (reason) {
         //todo reason;
   });
};

答案 1 :(得分:0)

在Chrome调试器中:

  

“注意:显示临时标题”

资源可能会被扩展程序阻止(在我的情况下是AdBlock)。