我有一个问题,我正在尝试使用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中的一个和全部来格式化帖子请求的正确方法。
谢谢!
答案 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);