【问题标题】:Angularjs convert service from $resource to $httpAngularjs 将服务从 $resource 转换为 $http
【发布时间】:2014-03-22 11:03:50
【问题描述】:

如何将以下使用 $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: {} } 
            }
    });

提前致谢。

【问题讨论】:

标签: angularjs


【解决方案1】:

首先你的问题,尝试类似:

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

然后调用它

MyService.get({}, function(data){...});
MyService.saveIt({}, postData, function(){success...}, function(){error...});

查看AngularJS docs了解更多信息

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 2016-04-16
    • 2017-05-27
    • 2016-02-26
    • 1970-01-01
    • 2014-03-22
    • 2017-01-10
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多