使用angularjs使用$ resource发布数据和参数

时间:2014-03-04 09:08:47

标签: javascript angularjs angularjs-resource

我有一个角度服务,它有像这样的自定义方法

appServices.factory('RuleSets', ['$resource',
    function($resource){
        return $resource('', {}, {
            query: {
                method:'GET',
                isArray:true,
                url: '../data/routing-ruleset-:ruleSetId.json'
            },
            unschedule: {
                method: 'POST',
                url: '../data/unschedule:ruleSetId.json'
            },
            schedule: {
                method: 'POST',
                params: {ruleSetId: ':ruleSetId', date: ':date'},
                url: '../data/schedule.json'
            }
        });
    }]);

我在使用自定义方法发布数据时遇到问题

RuleSets.unschedule({ruleSetId: ruleSetId});

RuleSets.schedule({date: $scope.formattedDate, ruleSetId: $scope.selectedRuleSet})

我在前者看到的行为是,如果它是POST请求,则不会填充ruleSetId url参数。在后者中,我不知道如果它是一个post请求(我知道编写的代码不正确),如何填充请求参数,因为我在我的服务函数中尝试的不起作用。我还想将数据作为“计划”请求的一部分发送。我已经看过如何通过这样做来做到这一点

var ruleSets = new RuleSets();
ruleSets.id =  $scope.selectedRuleSet
ruleSets.$save();

但是如何使用自定义方法呢?

我应该使用$ http还是不使用这么多自定义方法。我喜欢自定义方法提供的结构,所以我希望尽可能保持这种结构。

0 个答案:

没有答案