我的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?
答案 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);