ngResource:以URL而不是正文发送数据

时间:2014-09-08 18:22:26

标签: angularjs rest ngresource

我试图用这种方式用ngResource保存对象:

  var Tasks = $resource("http://example.com/task", {
    task: {
      id: '@id'
    }
  }, {
    'save': {
      method: 'POST',
      params: {
        key: "abc"
      }
    }
  });

  var task = new Tasks();
  task.id = "123";
  task.$save();

这是生成此网址:

 http://example.com/task?task=%7B%22id%22:%22@id%22%7D&key=abc

为什么" @ id"字符串没有被实际数据取代?为什么关键参数没有出现?

1 个答案:

答案 0 :(得分:0)

我强烈建议您修改api以不传递json字符串,但如果您必须这样做,您可以执行以下操作

var Tasks = $resource("http://example.com/task", {
  task: '@json'
}, {
  'save': {
    method: 'POST',
    params: {
      key: "abc"
    }
  }
});

var task = new Tasks();
task.id = '123';
task.json = angular.toJson(task);