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

标签 angularjs

http://jsfiddle.net/EjyW4/

本质上,我试图使用 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,它不知道如何处理它。

您想要:

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

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

看来您最初尝试做的事情更适合 $http (我也在 fiddle 中放置了一个示例)。

关于angularjs - 如何在 angular.js 中发送更复杂的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13310419/

相关文章:

javascript - 在 AngularJs 中调用函数 onclick

javascript - 隐藏具有相同类的所有特定 div 的 Angular 方式是什么

javascript - Ng-Joyride 不工作

javascript - 包括设计文件工厂

angularjs - 在模板AngularJS中调用模板

Java Servlet POST 操作未从请求中接收参数

c# - 所选日期未显示在 angular.js 的日期选择器中

javascript - md-button 内的 Font Awesome 图标对齐

javascript - $watch 的替代品

javascript - 在指令之间共享公共(public)代码