本质上,我试图使用 AngularJS 和资源模块从客户端发布一组对象,Angular 不是发送 JSON 对象,而是通过网络发送无用的 toString 表示形式。
不幸的是, fiddle 中的代码本身并没有做太多事情——其意图已概述here具有更多上下文,尽管它仍然非常原始并且还不像任何看起来像正确方式的东西)但这似乎是一个 Angular 问题而不是 grails,至少从 Chrome 控制台来看是这样。
Query String Parameters:
callback:JSON_CALLBACK
tests:%5Bobject+Object%5D,%5Bobject+Object%5D
似乎有一个 angular.toJson -- http://docs.angularjs.org/api/angular.toJson ——但在这种情况下似乎不起作用。我见过的文档似乎只涵盖了发送基本 int 的内容。如果必须的话,我会发送一个逗号分隔的字符串,但这似乎应该是一个常见的用例。
最佳答案
$resource
函数实际上返回一个新的 $resource
对象构造函数,然后您可以在该构造函数上设置属性,然后调用诸如 save
之类的方法.
所以你的 fiddle 问题是你试图保存一个没有数据集的 $resource
!您拥有的只是一个配置属性 tests
,它不知道如何处理它。
您想要:
- 使用
$resource
工厂/方法为新资源设置构造函数。 - 创建新资源的新实例。
- 为其设置属性(例如
myNewResource.tests = $scope.tests
); - 保存 (
myNewResource.$save()
)
看来您最初尝试做的事情更适合 $http
(我也在 fiddle 中放置了一个示例)。
关于angularjs - 如何在 angular.js 中发送更复杂的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13310419/