如何将以下使用$ resource的代码服务转换为使用$ http?
angular.module('myApp')
.factory('MyService', function ($resource) {
var url = "..";
return $resource("", {},
{
'servizio1': { method: "GET", url: basePath },
'servizio2': { method: "POST", url: url, data: {} },
'servizio3': { method: "POST", url: url, data: {} }
}
});
提前致谢。
答案 0 :(得分:0)
首先回答您的问题,尝试以下方法:
angular.module('myApp')
.factory('MyService', function ($http) {
var url = "..";
var basePath = "...";
return {
servizio1: function(){ return $http.get(basePath); },
servizio2: function(data){ return $http.post(url, data); }
}
});
用以下方式调用:
var returnValue = (new MyService()).servizio1.then(function(data){...})
但实际上您也可以使用$ resource API并执行以下操作:
angular.module('myApp')
.factory('MyService', function ($resource) {
var url = "..";
return $resource(url,{}, {
saveIt: {
method: 'POST',
params: {url: basePath}
}
});
adn用
调用它MyService.get({}, function(data){...});
MyService.saveIt({}, postData, function(){success...}, function(){error...});
查看AngularJS docs了解更多