2013-04-24 122 views
34

我看看Angular API为$资源,我没有找到某种方式发送Request Body RESTful服务。

我知道这是可能的使用$ http方法,如here,那么,是否也可以使用$resource

显然这是$resource的选项。

操作 - {string} - 操作的名称。该名称将成为资源对象上方法的名称。

方法 - {string} - HTTP请求 方法。有效的方法是:GET,POST,PUT,DELETE和JSONP

PARAMS - {对象=} - 可选指令集,用于此操作预结合参数。

isArray - {boolean =} - 如果为true,则此动作的返回对象是一个数组,请参见返回部分。

目前我没有找到任何方式发送包含JSON对象的请求负载。

回答

27

只要行动支持体消息(例如POST,而不是GET),你可以传递一个数据参数到资源的操作方法,这将在请求的正文中发送:

yourResource.save(yourData) 

例子:http://jsfiddle.net/N3NXK/1/

+2

谢谢!我在考虑只有{}内的参数是可以接受的。 – 2013-04-25 13:00:14

+0

这节省了我以及....我正在使用ServiceStack试图POST($ resource.save())一个复杂的对象$资源序列化查询字符串parms,它可以很好地反对SS反序列化平面对象,但显然不是复杂的。你的小提琴救了我! – mmacneil007 2014-01-16 02:32:53

+0

我真的很迷惑你发布的jsFiddle。如果我看看chrome调试器,调用的方法就是通过线路进行GET。角度不会使默认的POST保存? – 2014-03-18 16:51:25

36

大厦@gargc的回答,您可以传递参数和主体,以资源的方法:

myResource.save({ param: myParam }, myObject);