Angularjs 在$resource上发送请求正文

Angularjs 在$resource上发送请求正文,angularjs,angular-resource,Angularjs,Angular Resource,我查看了$resource,但没有找到将请求正文发送到RESTful服务的方法 我知道使用$http方法可以做到这一点,比如,也可以使用$resource 显然这是$resource的选项 操作–{string}–操作的名称。此名称将成为资源对象上方法的名称 方法–{string}–HTTP请求 方法。有效的方法有:GET、POST、PUT、DELETE和JSONP 参数—— {object=}–此操作的可选预设参数集 isArray–{boolean=}–如果为true,则返回此 动作是一个数

我查看了$resource,但没有找到将
请求正文
发送到RESTful服务的方法

我知道使用$http方法可以做到这一点,比如,也可以使用
$resource

显然这是
$resource
的选项

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

方法–{string}–HTTP请求 方法。有效的方法有:GET、POST、PUT、DELETE和JSONP

参数—— {object=}–此操作的可选预设参数集

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


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

只要操作支持正文消息(例如POST,但不是GET),您就可以将数据参数传递给资源的操作方法,该方法将在请求正文中发送:

yourResource.save(yourData)

示例:

基于
@gargc
的答案,您可以将参数和主体传递给资源的方法:

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

谢谢我认为只有{}中的参数是可以接受的。这也救了我一命……我正在使用ServiceStack尝试发布($resource.save())一个复杂对象,$resource序列化为查询字符串parms,这对SS反序列化平面对象很好,但显然不是复杂对象。你的小提琴救了我!!我真的被你贴的JSFIDLE搞糊涂了。如果我看一看chrome调试器,调用的方法是一个超越线的方法。难道这不是保存的默认帖子吗?@KenPerkins我先看到帖子,然后看到GET。似乎JSFIDLE对伪POST请求的响应是301,我想你是对的。Chrome Inspector似乎掩盖了最初的帖子:S