我正在MEAN堆栈上开发应用程序。我让工厂处理我的http请求,然后在我的控制器中使用该服务。使用工厂服务进行http调用并通过控制器使用它们
服务
.factory('dataSvc', function($q, $http, $timeout, $rootScope, $resource) {
var dataSvc = {};
dataSvc.list = function(options) {
var defer = $q.defer();
return $http.get(options.url).success(function(data) {
console.log('========data========', data)
defer.resolve(data);
}).error(function(err){
console.log('======err=======', err)
defer.reject(err);
});
return defer.promise;
}
return dataSvc;
});
我有一个关于这两个问题:
即使我从后端401个状态,我总是在成功的函数结束了,所以我在做什么错在这里。
如果我从$ http.get中删除返回,则功能会中断。那么,什么是在$ http.get
控制器
dataSvc.list({url: '/api/users'}).then(function(result) {
console.log('result here===========', result);
if(result.status == 401) {
}
else {
}
});
前需要对这个返回的关键字,也就是再由角提供的方法和成功和错误方法之间的区别?
是的,它的工作,但还是我没有得到那为什么我收到的成功回调像401错误响应。 –
你可以使用你的服务器端代码? –
我正在使用的后端节点JS和这里是代码 'VAR checkAuth =功能(REQ,RES){ 如果(req.isUserLoggedIn){// 处理成功的情况下 } 其他{ 资源。发送(401,“没有授权”) } };' 我送401,如果如果我使用http.get直接在控制器然后我在错误回调 –