将多个对象传递给angularjs $ resource.save()

时间:2016-07-28 11:02:04

标签: javascript angularjs json rest resources

我在服务器上有一个操作合同,如下所示:

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/RegisterOrganization", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
void RegisterOrganization(Organization organization, User admin);

现在在客户端,我有以下资源:

var RegisterOrganization = $resource(baseUrlService.getBaseUrl() + 'REST/Organization.svc/RegisterOrganization');

我的问题是如何将两个对象作为参数传递:

RegisterOrganization.save(organization,admin)

通过这样做我得到500服务器错误,任何想法我怎么能实现这个?

1 个答案:

答案 0 :(得分:0)

不知道您的服务器端调用,但save $resource方法首先接受查询字符串参数,这些参数将作为查询字符串发送,如:

REST/Organization.svc/RegisterOrganization?organizationName=StackOverflow&site=

第二个参数将作为JSON发送。您的服务器端调用接受数据为JSON。所以考虑一下这个变化:

var data = angular.extend({}, organization, admin);
RegisterOrganization.save(null, data);