2

http://jsfiddle.net/EjyW4/

本质上,我正在尝试使用带有资源模块的 AngularJS 从客户端发布一组对象,而不是发送 JSON 对象,Angular 正在通过网络发送无用的 toString 表示。

不幸的是,小提琴中的代码本身并没有多大作用——这里用更多的上下文概述了意图,尽管它仍然非常原始,并且看起来不像正确的方法)但这似乎是一个角度问题而不是 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。如果必须,我将发送一个逗号分隔的字符串,但这似乎应该是一个常见的用例。

4

1 回答 1

2

$resource函数实际上返回一个新的$resource对象构造函数,然后您在其上设置属性,然后调用类似saveon 的方法。

所以你在小提琴中的问题是你试图保存一个$resource没有数据集的!您所拥有的只是一个配置属性 ,tests它不知道如何处理。

相反,您想要:

  1. $resource使用工厂/方法为新资源设置构造函数。
  2. 创建新资源的新实例。
  3. 在其上设置一个属性(例如myNewResource.tests = $scope.tests);
  4. 保存它 ( myNewResource.$save())

http://jsfiddle.net/EjyW4/2/

看起来您最初尝试做的事情更适合$http(我也在小提琴中放了一个例子)。

于 2012-11-12T17:06:00.557 回答