发布使用资源导致参数附加到URL - Angular JS

时间:2014-04-04 14:14:00

标签: angularjs

我的Angular App中有以下服务:

myAngularApp.factory('myFactory', function($resource, HOST){
    return{
        getThings: function(userId, userToken){
            var connection = $resource(HOST + '/user/mypost/', {'Userid': userId, 'UserToken': userToken, 'Type': 'Read'}, {
                save: {
                    method: 'POST'
                }
            });
            var results = connection.save();
            results.$promise.then(function(data){
                results = data;
            });
            return results;
        }
    }
});

在我的一个控制器中,我使用

调用上面的工厂及其功能
myFactory.getThings($scope.someId, $scope.someToken);

当我查看开发人员工具中的“网络”窗格时,POST请求将使用正确的查询字符串参数发送,但URL将附加相同的参数(la GET请求)。如何阻止参数附加到我的URL?

1 个答案:

答案 0 :(得分:4)

尝试将参数直接传递给save()函数,并将其从$resource构造函数中的URL参数参数中删除:

var connection = $resource(HOST + '/user/mypost/', {}, {save: {method: 'POST'}});

var params = {'Userid': userId, 'UserToken': userToken, 'Type': 'Read'};

var results = connection.save(params);