在Restangular post请求中使用一个和所有链接

时间:2014-06-28 18:52:37

标签: javascript ajax angularjs restangular

我有一个问题,我正在尝试使用Restangular发布帖子请求:

我会像这样设置查询:

var auth = Restangular.all('auth');
var check = auth.one('check');

然后我会像这样做发布请求:

var user = {
  email: 'randomemail@gmail.com',
  pass: 'randompass'
}

check.post(user)

但是,请求显示错误,当我检查网络时,请求是这样发送的:

http://localhost/auth/check/[object object]

为什么post请求会像查询参数一样附加对象而不是在请求体中发送它?

如果我错误地格式化了这个帖子请求,有人可以指出使用Restangular中的一个和全部来格式化帖子请求的正确方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

当您发布到one()时,post()实际上期望将subElement作为第一个参数,这就是为什么它附加传递给路径的对象...

(来自documentation

  

发帖(subElement,elementToPost,[queryParams,headers]):是否发布了POST   并创建一个子元素。 Subelement是必需的,是嵌套的   资源。要发布的元素是要发布到服务器的对象

要发布到/auth/check,您可以使用customPOST() ...

auth.customPOST(user, 'check');

编辑 - 如果您使用post() ...

,请参阅以下几个示例
Restangular.one('auth').post('check', user);

或者

auth.all('check').post(user);