Javascript 如何将ngResource配置为其put/post数据的命名空间?

Javascript 如何将ngResource配置为其put/post数据的命名空间?,javascript,angularjs,ngresource,Javascript,Angularjs,Ngresource,我定义了以下服务来处理我的用户资源。服务器返回带名称空间的JSON数据,并期望返回带名称空间的JSON数据。不幸的是,虽然我能够将其配置为读取数据,但它拒绝命名输出数据的名称空间。我最接近的是writeUserKey函数,这只会导致服务器抱怨。我认为它覆盖了JSON编码,导致angular只发出[object object],而不是JSON字符串。我怎样才能让它工作 代码: 原始输出:{key:value,key2:value2,key2:value2} 当前输出:[对象] 所需的输出:{use

我定义了以下服务来处理我的用户资源。服务器返回带名称空间的JSON数据,并期望返回带名称空间的JSON数据。不幸的是,虽然我能够将其配置为读取数据,但它拒绝命名输出数据的名称空间。我最接近的是writeUserKey函数,这只会导致服务器抱怨。我认为它覆盖了JSON编码,导致angular只发出[object object],而不是JSON字符串。我怎样才能让它工作

代码:

原始输出:{key:value,key2:value2,key2:value2}

当前输出:[对象]


所需的输出:{user:{key:value,key2:value2,key2:value2}}

有时会有帮助。在抓起一些食物并在hte项目的其他部分闲逛之后,我意识到解决方案是显而易见的。如果我覆盖默认序列化,我只需要重新生成一个简单的.toJson调用

将writeUserKey更改为:

var writeUserKey = function(data, headersGetter){
  return angular.toJson({ user: data});
};
这似乎比开箱即用的简单方法要复杂得多,但它确实有效。如果有更好的方法来处理名称空间数据,请告诉我

var writeUserKey = function(data, headersGetter){
  return angular.toJson({ user: data});
};