【问题标题】:Post Using Resource Causes Parameters to be Appended to URL - Angular JS使用资源发布导致参数附加到 URL - Angular JS
【发布时间】:2014-04-04 22:25:43
【问题描述】:

我的 Angular 应用中有以下服务:

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 附加了相同的参数(一个 GET 请求)。如何阻止参数附加到我的 URL?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    尝试将您的参数直接传递给您的 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);
    

    【讨论】:

    • 这是唯一可能的解决方案吗?
    猜你喜欢
    • 2015-08-25
    • 2018-06-02
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多