4

我有一个看起来像这样的角度服务。在这里,我正在发出 POST 请求。

.factory("Apples", function ($resource, HOST) {

            return $resource(
                HOST + "/apples",
                {},
                {
                    create: {
                        method: 'POST',
                        params: {
                            tree_id: '@treeId',
                            name: '@name',
                            color: '@color'
                        }
                    }
                }
            );
        })

问题是上述服务发出 POST 请求并将params数据作为表单数据发送,但还将params数据作为查询字符串附加到 url。我可以避免吗?

4

1 回答 1

6

我认为您对如何使用$resource. 您应该像创建模型一样创建 $resource 实例,并在要发布的对象上设置属性。

Apples如上所述定义您的$resource :

var apple = new Apples();

apple.color = ...
apple.name = ...
apple.tree_id = ...

apple.$create()

或者你可以直接使用 $resource 类:

Apples.create({
    apple.color: ...
    apple.name: ...
    apple.tree_id: ...
});

最后, $resource 具有使用 POST 的内置功能$save(),您可以使用它来代替创建自定义$create()操作。

于 2013-12-08T20:21:53.050 回答