如何在angular.js中发送更复杂的对象?

时间:2012-11-09 14:59:25

标签: angularjs

http://jsfiddle.net/EjyW4/

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

不幸的是,小提琴中的代码本身并没有做太多 - 意图概括here有更多的上下文,虽然它仍然是非常原始的,并且还不像任何看似正确的方式)但是这似乎是一个有角度的问题,而不是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。如果必须,我将发送逗号分隔的字符串,但这似乎应该是一个常见的用例。

1 个答案:

答案 0 :(得分:2)

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

所以你的问题就是你试图保存一个没有数据集的$resource!你所拥有的只是一个配置属性tests,它不知道该怎么做。

你想要:

  1. 使用$resource factory / method。
  2. 为新资源设置构造函数
  3. 创建新资源的新实例。
  4. 在其上设置属性(例如myNewResource.tests = $scope.tests);
  5. 保存(myNewResource.$save()
  6. http://jsfiddle.net/EjyW4/2/

    看起来你原本想要做的事情更适合$http(我在小提琴中也举了一个例子)。