我对$ resource的使用只有在服务器返回错误时才能捕获错误,比如糟糕的登录等。但是,任何其他错误,如错误的网址等等都被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]);
}());
答案 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)。