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



我对$resource的使用只能捕获服务器返回的错误,例如错误的登录等。然而,任何其他错误,比如url错误等,都将被Angular自己消化掉,而不会出现在我的异常处理程序中。

查看演示

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

代码

    (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]);
}());

请查看此链接并查找$promise

这里有一个例子:

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

Chrome调试器:

"注意:显示临时标题"

资源可能被一个扩展(AdBlock在我的情况下)阻止。

最新更新